ZEND_ASSERT(stmt);
ZVAL_NULL(rv);
- if (is_numeric_string(ZSTR_VAL(name), ZSTR_LEN(name), &lval, NULL, 0) == IS_LONG) {
+ if (zend_string_equals_literal(name, "queryString")) {
+ return zend_std_read_property(&stmt->std, name, type, cache_slot, rv);
+ } else if (is_numeric_string(ZSTR_VAL(name), ZSTR_LEN(name), &lval, NULL, 0) == IS_LONG) {
if (lval >= 0 && lval < stmt->column_count) {
fetch_value(stmt, rv, lval, NULL);
}
return rv;
}
}
- if (zend_string_equals_literal(name, "queryString")) {
- return zend_std_read_property(&stmt->std, name, type, cache_slot, rv);
- }
}
return rv;
return &EG(uninitialized_zval);
}
+ if (zend_string_equals_literal(Z_STR_P(member), "queryString")) {
+ return zend_std_read_property(&stmt->std, Z_STR_P(member), type, NULL, rv);
+ }
+
/* TODO: replace this with a hash of available column names to column
* numbers */
for (colno = 0; colno < stmt->column_count; colno++) {
return rv;
}
}
- if (zend_string_equals_literal(Z_STR_P(member), "queryString")) {
- return zend_std_read_property(&stmt->std, Z_STR_P(member), type, NULL, rv);
- }
}
return rv;
}
props = zend_array_dup(stmt->std.properties);
for (i = 0; i < stmt->column_count; i++) {
+ if (zend_string_equals_literal(stmt->columns[i].name, "queryString")) {
+ continue;
+ }
+
zval val;
fetch_value(stmt, &val, i, NULL);
class PDOStatement implements IteratorAggregate
{
- /** @var string|null */
- public $queryString;
+ public string $queryString;
/** @return bool */
public function bindColumn(string|int $column, mixed &$var, int $type = 0, int $maxLength = 0, mixed $driverOptions = null) {}
final class PDORow
{
+ public string $queryString;
}
/* This is a generated file, edit the .stub.php file instead.
- * Stub hash: d25ba8b84022d6c6208dd45412772d72196c934f */
+ * Stub hash: 1b8043ec5e3e621819c85828daf9316136fef62e */
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDOStatement_bindColumn, 0, 0, 2)
ZEND_ARG_TYPE_MASK(0, column, MAY_BE_STRING|MAY_BE_LONG, NULL)
zend_class_implements(class_entry, 1, class_entry_IteratorAggregate);
zval property_queryString_default_value;
- ZVAL_NULL(&property_queryString_default_value);
+ ZVAL_UNDEF(&property_queryString_default_value);
zend_string *property_queryString_name = zend_string_init("queryString", sizeof("queryString") - 1, 1);
- zend_declare_property_ex(class_entry, property_queryString_name, &property_queryString_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_declare_typed_property(class_entry, property_queryString_name, &property_queryString_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
zend_string_release(property_queryString_name);
return class_entry;
class_entry = zend_register_internal_class_ex(&ce, NULL);
class_entry->ce_flags |= ZEND_ACC_FINAL;
+ zval property_queryString_default_value;
+ ZVAL_UNDEF(&property_queryString_default_value);
+ zend_string *property_queryString_name = zend_string_init("queryString", sizeof("queryString") - 1, 1);
+ zend_declare_typed_property(class_entry, property_queryString_name, &property_queryString_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
+ zend_string_release(property_queryString_name);
+
return class_entry;
}
?>
--EXPECTF--
-object(PDOStatement)#%d (1) {
+object(PDOStatement)#%d (0) {
["queryString"]=>
- NULL
+ uninitialized(string)
}
Fatal error: Uncaught PDOException: You may not create a PDORow manually in %spdo_036.php:8
string(23) "select 1 as queryString"
object(PDORow)#%d (1) {
["queryString"]=>
- int(1)
+ string(23) "select 1 as queryString"
}
-int(1)
+string(23) "select 1 as queryString"