@@ -2615,10 +2615,8 @@ static zval *row_prop_or_dim_read(zval *object, zval *member, int type TSRMLS_DC
26152615 pdo_stmt_t * stmt = (pdo_stmt_t * ) zend_object_store_get_object (object TSRMLS_CC );
26162616 int colno = -1 ;
26172617
2618- if (Z_TYPE_P (member ) == IS_STRING && strcmp (Z_STRVAL_P (member ), "queryString" ) == 0 ) {
2619- return std_object_handlers .read_property (object , member , IS_STRING TSRMLS_CC );
2620- }
26212618 MAKE_STD_ZVAL (return_value );
2619+ RETVAL_NULL ();
26222620
26232621 if (Z_TYPE_P (member ) == IS_LONG ) {
26242622 if (Z_LVAL_P (member ) >= 0 && Z_LVAL_P (member ) < stmt -> column_count ) {
@@ -2631,9 +2629,15 @@ static zval *row_prop_or_dim_read(zval *object, zval *member, int type TSRMLS_DC
26312629 for (colno = 0 ; colno < stmt -> column_count ; colno ++ ) {
26322630 if (strcmp (stmt -> columns [colno ].name , Z_STRVAL_P (member )) == 0 ) {
26332631 fetch_value (stmt , return_value , colno , NULL TSRMLS_CC );
2634- break ;
2632+ Z_SET_REFCOUNT_P (return_value , 0 );
2633+ Z_UNSET_ISREF_P (return_value );
2634+ return return_value ;
26352635 }
26362636 }
2637+ if (strcmp (Z_STRVAL_P (member ), "queryString" ) == 0 ) {
2638+ zval_ptr_dtor (& return_value );
2639+ return std_object_handlers .read_property (object , member , IS_STRING TSRMLS_CC );
2640+ }
26372641 }
26382642
26392643 Z_SET_REFCOUNT_P (return_value , 0 );
0 commit comments