/* {{{ PHP_MINIT_FUNCTION */
PHP_MINIT_FUNCTION(mysqli)
{
- zend_class_entry *ce,cex;
-
REGISTER_INI_ENTRIES();
#ifndef MYSQLI_USE_MYSQLND
if (mysql_server_init(0, NULL, NULL)) {
le_pmysqli = zend_register_list_destructors_ex(NULL, php_mysqli_dtor,
"MySqli persistent connection", module_number);
- INIT_CLASS_ENTRY(cex, "mysqli_sql_exception", class_mysqli_sql_exception_methods);
- mysqli_exception_class_entry = zend_register_internal_class_ex(&cex, spl_ce_RuntimeException);
- mysqli_exception_class_entry->ce_flags |= ZEND_ACC_FINAL;
- zend_declare_property_long(mysqli_exception_class_entry, "code", sizeof("code")-1, 0, ZEND_ACC_PROTECTED);
- zend_declare_property_string(mysqli_exception_class_entry, "sqlstate", sizeof("sqlstate")-1, "00000", ZEND_ACC_PROTECTED);
+ mysqli_exception_class_entry = register_class_mysqli_sql_exception(spl_ce_RuntimeException);
- REGISTER_MYSQLI_CLASS_ENTRY("mysqli_driver", mysqli_driver_class_entry, class_mysqli_driver_methods);
- ce = mysqli_driver_class_entry;
+ mysqli_driver_class_entry = register_class_mysqli_driver();
+ mysqli_driver_class_entry->create_object = mysqli_objects_new;
zend_hash_init(&mysqli_driver_properties, 0, NULL, free_prop_handler, 1);
MYSQLI_ADD_PROPERTIES(&mysqli_driver_properties, mysqli_driver_property_entries);
- zend_declare_property_null(ce, "client_info", sizeof("client_info") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "client_version", sizeof("client_version") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "driver_version", sizeof("driver_version") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "reconnect", sizeof("reconnect") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "report_mode", sizeof("report_mode") - 1, ZEND_ACC_PUBLIC);
- ce->ce_flags |= ZEND_ACC_FINAL;
- zend_hash_add_ptr(&classes, ce->name, &mysqli_driver_properties);
-
- REGISTER_MYSQLI_CLASS_ENTRY("mysqli", mysqli_link_class_entry, class_mysqli_methods);
- ce = mysqli_link_class_entry;
+ zend_hash_add_ptr(&classes, mysqli_driver_class_entry->name, &mysqli_driver_properties);
+
+ mysqli_link_class_entry = register_class_mysqli();
+ mysqli_link_class_entry->create_object = mysqli_objects_new;
zend_hash_init(&mysqli_link_properties, 0, NULL, free_prop_handler, 1);
MYSQLI_ADD_PROPERTIES(&mysqli_link_properties, mysqli_link_property_entries);
- zend_declare_property_null(ce, "affected_rows", sizeof("affected_rows") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "client_info", sizeof("client_info") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "client_version", sizeof("client_version") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "connect_errno", sizeof("connect_errno") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "connect_error", sizeof("connect_error") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "errno", sizeof("errno") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "error", sizeof("error") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "error_list", sizeof("error_list") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "field_count", sizeof("field_count") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "host_info", sizeof("host_info") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "info", sizeof("info") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "insert_id", sizeof("insert_id") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "server_info", sizeof("server_info") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "server_version", sizeof("server_version") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "sqlstate", sizeof("sqlstate") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "protocol_version", sizeof("protocol_version") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "thread_id", sizeof("thread_id") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "warning_count", sizeof("warning_count") - 1, ZEND_ACC_PUBLIC);
- zend_hash_add_ptr(&classes, ce->name, &mysqli_link_properties);
-
- REGISTER_MYSQLI_CLASS_ENTRY("mysqli_warning", mysqli_warning_class_entry, class_mysqli_warning_methods);
- ce = mysqli_warning_class_entry;
- ce->ce_flags |= ZEND_ACC_FINAL;
+ zend_hash_add_ptr(&classes, mysqli_link_class_entry->name, &mysqli_link_properties);
+
+ mysqli_warning_class_entry = register_class_mysqli_warning();
+ mysqli_warning_class_entry->create_object = mysqli_objects_new;
zend_hash_init(&mysqli_warning_properties, 0, NULL, free_prop_handler, 1);
MYSQLI_ADD_PROPERTIES(&mysqli_warning_properties, mysqli_warning_property_entries);
- zend_declare_property_null(ce, "message", sizeof("message") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "sqlstate", sizeof("sqlstate") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "errno", sizeof("errno") - 1, ZEND_ACC_PUBLIC);
- zend_hash_add_ptr(&classes, ce->name, &mysqli_warning_properties);
+ zend_hash_add_ptr(&classes, mysqli_warning_class_entry->name, &mysqli_warning_properties);
- REGISTER_MYSQLI_CLASS_ENTRY("mysqli_result", mysqli_result_class_entry, class_mysqli_result_methods);
- ce = mysqli_result_class_entry;
+ mysqli_result_class_entry = register_class_mysqli_result(zend_ce_aggregate);
+ mysqli_result_class_entry->create_object = mysqli_objects_new;
+ mysqli_result_class_entry->get_iterator = php_mysqli_result_get_iterator;
zend_hash_init(&mysqli_result_properties, 0, NULL, free_prop_handler, 1);
MYSQLI_ADD_PROPERTIES(&mysqli_result_properties, mysqli_result_property_entries);
- zend_declare_property_null(ce, "current_field", sizeof("current_field") - 1,ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "field_count", sizeof("field_count") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "lengths", sizeof("lengths") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "num_rows", sizeof("num_rows") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "type", sizeof("type") - 1, ZEND_ACC_PUBLIC);
- mysqli_result_class_entry->get_iterator = php_mysqli_result_get_iterator;
- zend_class_implements(mysqli_result_class_entry, 1, zend_ce_aggregate);
- zend_hash_add_ptr(&classes, ce->name, &mysqli_result_properties);
+ zend_hash_add_ptr(&classes, mysqli_result_class_entry->name, &mysqli_result_properties);
- REGISTER_MYSQLI_CLASS_ENTRY("mysqli_stmt", mysqli_stmt_class_entry, class_mysqli_stmt_methods);
- ce = mysqli_stmt_class_entry;
+ mysqli_stmt_class_entry = register_class_mysqli_stmt();
+ mysqli_stmt_class_entry->create_object = mysqli_objects_new;
zend_hash_init(&mysqli_stmt_properties, 0, NULL, free_prop_handler, 1);
MYSQLI_ADD_PROPERTIES(&mysqli_stmt_properties, mysqli_stmt_property_entries);
- zend_declare_property_null(ce, "affected_rows", sizeof("affected_rows") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "insert_id", sizeof("insert_id") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "num_rows", sizeof("num_rows") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "param_count", sizeof("param_count") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "field_count", sizeof("field_count") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "errno", sizeof("errno") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "error", sizeof("error") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "error_list", sizeof("error_list") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "sqlstate", sizeof("sqlstate") - 1, ZEND_ACC_PUBLIC);
- zend_declare_property_null(ce, "id", sizeof("id") - 1, ZEND_ACC_PUBLIC);
- zend_hash_add_ptr(&classes, ce->name, &mysqli_stmt_properties);
+ zend_hash_add_ptr(&classes, mysqli_stmt_class_entry->name, &mysqli_stmt_properties);
/* mysqli_options */
REGISTER_LONG_CONSTANT("MYSQLI_READ_DEFAULT_GROUP", MYSQL_READ_DEFAULT_GROUP, CONST_CS | CONST_PERSISTENT);
/* This is a generated file, edit the .stub.php file instead.
- * Stub hash: cd44441ccae3d04e4691e0b1b040cafd8db8b521 */
+ * Stub hash: efd018f81d09a704e3a9cea00dd562feb48ca0bb */
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mysqli_affected_rows, 0, 1, MAY_BE_LONG|MAY_BE_STRING)
ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
static const zend_function_entry class_mysqli_sql_exception_methods[] = {
ZEND_FE_END
};
+
+static zend_class_entry *register_class_mysqli_driver(void)
+{
+ zend_class_entry ce, *class_entry;
+
+ INIT_CLASS_ENTRY(ce, "mysqli_driver", class_mysqli_driver_methods);
+ class_entry = zend_register_internal_class_ex(&ce, NULL);
+ class_entry->ce_flags |= ZEND_ACC_FINAL;
+
+ zval property_client_info_default_value;
+ ZVAL_NULL(&property_client_info_default_value);
+ zend_string *property_client_info_name = zend_string_init("client_info", sizeof("client_info") - 1, 1);
+ zend_declare_property_ex(class_entry, property_client_info_name, &property_client_info_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_client_info_name);
+
+ zval property_client_version_default_value;
+ ZVAL_NULL(&property_client_version_default_value);
+ zend_string *property_client_version_name = zend_string_init("client_version", sizeof("client_version") - 1, 1);
+ zend_declare_property_ex(class_entry, property_client_version_name, &property_client_version_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_client_version_name);
+
+ zval property_driver_version_default_value;
+ ZVAL_NULL(&property_driver_version_default_value);
+ zend_string *property_driver_version_name = zend_string_init("driver_version", sizeof("driver_version") - 1, 1);
+ zend_declare_property_ex(class_entry, property_driver_version_name, &property_driver_version_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_driver_version_name);
+
+ zval property_reconnect_default_value;
+ ZVAL_NULL(&property_reconnect_default_value);
+ zend_string *property_reconnect_name = zend_string_init("reconnect", sizeof("reconnect") - 1, 1);
+ zend_declare_property_ex(class_entry, property_reconnect_name, &property_reconnect_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_reconnect_name);
+
+ zval property_report_mode_default_value;
+ ZVAL_NULL(&property_report_mode_default_value);
+ zend_string *property_report_mode_name = zend_string_init("report_mode", sizeof("report_mode") - 1, 1);
+ zend_declare_property_ex(class_entry, property_report_mode_name, &property_report_mode_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_report_mode_name);
+
+ return class_entry;
+}
+
+static zend_class_entry *register_class_mysqli(void)
+{
+ zend_class_entry ce, *class_entry;
+
+ INIT_CLASS_ENTRY(ce, "mysqli", class_mysqli_methods);
+ class_entry = zend_register_internal_class_ex(&ce, NULL);
+
+ zval property_affected_rows_default_value;
+ ZVAL_NULL(&property_affected_rows_default_value);
+ zend_string *property_affected_rows_name = zend_string_init("affected_rows", sizeof("affected_rows") - 1, 1);
+ zend_declare_property_ex(class_entry, property_affected_rows_name, &property_affected_rows_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_affected_rows_name);
+
+ zval property_client_info_default_value;
+ ZVAL_NULL(&property_client_info_default_value);
+ zend_string *property_client_info_name = zend_string_init("client_info", sizeof("client_info") - 1, 1);
+ zend_declare_property_ex(class_entry, property_client_info_name, &property_client_info_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_client_info_name);
+
+ zval property_client_version_default_value;
+ ZVAL_NULL(&property_client_version_default_value);
+ zend_string *property_client_version_name = zend_string_init("client_version", sizeof("client_version") - 1, 1);
+ zend_declare_property_ex(class_entry, property_client_version_name, &property_client_version_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_client_version_name);
+
+ zval property_connect_errno_default_value;
+ ZVAL_NULL(&property_connect_errno_default_value);
+ zend_string *property_connect_errno_name = zend_string_init("connect_errno", sizeof("connect_errno") - 1, 1);
+ zend_declare_property_ex(class_entry, property_connect_errno_name, &property_connect_errno_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_connect_errno_name);
+
+ zval property_connect_error_default_value;
+ ZVAL_NULL(&property_connect_error_default_value);
+ zend_string *property_connect_error_name = zend_string_init("connect_error", sizeof("connect_error") - 1, 1);
+ zend_declare_property_ex(class_entry, property_connect_error_name, &property_connect_error_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_connect_error_name);
+
+ zval property_errno_default_value;
+ ZVAL_NULL(&property_errno_default_value);
+ zend_string *property_errno_name = zend_string_init("errno", sizeof("errno") - 1, 1);
+ zend_declare_property_ex(class_entry, property_errno_name, &property_errno_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_errno_name);
+
+ zval property_error_default_value;
+ ZVAL_NULL(&property_error_default_value);
+ zend_string *property_error_name = zend_string_init("error", sizeof("error") - 1, 1);
+ zend_declare_property_ex(class_entry, property_error_name, &property_error_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_error_name);
+
+ zval property_error_list_default_value;
+ ZVAL_NULL(&property_error_list_default_value);
+ zend_string *property_error_list_name = zend_string_init("error_list", sizeof("error_list") - 1, 1);
+ zend_declare_property_ex(class_entry, property_error_list_name, &property_error_list_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_error_list_name);
+
+ zval property_field_count_default_value;
+ ZVAL_NULL(&property_field_count_default_value);
+ zend_string *property_field_count_name = zend_string_init("field_count", sizeof("field_count") - 1, 1);
+ zend_declare_property_ex(class_entry, property_field_count_name, &property_field_count_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_field_count_name);
+
+ zval property_host_info_default_value;
+ ZVAL_NULL(&property_host_info_default_value);
+ zend_string *property_host_info_name = zend_string_init("host_info", sizeof("host_info") - 1, 1);
+ zend_declare_property_ex(class_entry, property_host_info_name, &property_host_info_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_host_info_name);
+
+ zval property_info_default_value;
+ ZVAL_NULL(&property_info_default_value);
+ zend_string *property_info_name = zend_string_init("info", sizeof("info") - 1, 1);
+ zend_declare_property_ex(class_entry, property_info_name, &property_info_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_info_name);
+
+ zval property_insert_id_default_value;
+ ZVAL_NULL(&property_insert_id_default_value);
+ zend_string *property_insert_id_name = zend_string_init("insert_id", sizeof("insert_id") - 1, 1);
+ zend_declare_property_ex(class_entry, property_insert_id_name, &property_insert_id_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_insert_id_name);
+
+ zval property_server_info_default_value;
+ ZVAL_NULL(&property_server_info_default_value);
+ zend_string *property_server_info_name = zend_string_init("server_info", sizeof("server_info") - 1, 1);
+ zend_declare_property_ex(class_entry, property_server_info_name, &property_server_info_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_server_info_name);
+
+ zval property_server_version_default_value;
+ ZVAL_NULL(&property_server_version_default_value);
+ zend_string *property_server_version_name = zend_string_init("server_version", sizeof("server_version") - 1, 1);
+ zend_declare_property_ex(class_entry, property_server_version_name, &property_server_version_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_server_version_name);
+
+ zval property_sqlstate_default_value;
+ ZVAL_NULL(&property_sqlstate_default_value);
+ zend_string *property_sqlstate_name = zend_string_init("sqlstate", sizeof("sqlstate") - 1, 1);
+ zend_declare_property_ex(class_entry, property_sqlstate_name, &property_sqlstate_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_sqlstate_name);
+
+ zval property_protocol_version_default_value;
+ ZVAL_NULL(&property_protocol_version_default_value);
+ zend_string *property_protocol_version_name = zend_string_init("protocol_version", sizeof("protocol_version") - 1, 1);
+ zend_declare_property_ex(class_entry, property_protocol_version_name, &property_protocol_version_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_protocol_version_name);
+
+ zval property_thread_id_default_value;
+ ZVAL_NULL(&property_thread_id_default_value);
+ zend_string *property_thread_id_name = zend_string_init("thread_id", sizeof("thread_id") - 1, 1);
+ zend_declare_property_ex(class_entry, property_thread_id_name, &property_thread_id_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_thread_id_name);
+
+ zval property_warning_count_default_value;
+ ZVAL_NULL(&property_warning_count_default_value);
+ zend_string *property_warning_count_name = zend_string_init("warning_count", sizeof("warning_count") - 1, 1);
+ zend_declare_property_ex(class_entry, property_warning_count_name, &property_warning_count_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_warning_count_name);
+
+ return class_entry;
+}
+
+static zend_class_entry *register_class_mysqli_result(zend_class_entry *class_entry_IteratorAggregate)
+{
+ zend_class_entry ce, *class_entry;
+
+ INIT_CLASS_ENTRY(ce, "mysqli_result", class_mysqli_result_methods);
+ class_entry = zend_register_internal_class_ex(&ce, NULL);
+ zend_class_implements(class_entry, 1, class_entry_IteratorAggregate);
+
+ zval property_current_field_default_value;
+ ZVAL_NULL(&property_current_field_default_value);
+ zend_string *property_current_field_name = zend_string_init("current_field", sizeof("current_field") - 1, 1);
+ zend_declare_property_ex(class_entry, property_current_field_name, &property_current_field_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_current_field_name);
+
+ zval property_field_count_default_value;
+ ZVAL_NULL(&property_field_count_default_value);
+ zend_string *property_field_count_name = zend_string_init("field_count", sizeof("field_count") - 1, 1);
+ zend_declare_property_ex(class_entry, property_field_count_name, &property_field_count_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_field_count_name);
+
+ zval property_lengths_default_value;
+ ZVAL_NULL(&property_lengths_default_value);
+ zend_string *property_lengths_name = zend_string_init("lengths", sizeof("lengths") - 1, 1);
+ zend_declare_property_ex(class_entry, property_lengths_name, &property_lengths_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_lengths_name);
+
+ zval property_num_rows_default_value;
+ ZVAL_NULL(&property_num_rows_default_value);
+ zend_string *property_num_rows_name = zend_string_init("num_rows", sizeof("num_rows") - 1, 1);
+ zend_declare_property_ex(class_entry, property_num_rows_name, &property_num_rows_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_num_rows_name);
+
+ zval property_type_default_value;
+ ZVAL_NULL(&property_type_default_value);
+ zend_string *property_type_name = zend_string_init("type", sizeof("type") - 1, 1);
+ zend_declare_property_ex(class_entry, property_type_name, &property_type_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_type_name);
+
+ return class_entry;
+}
+
+static zend_class_entry *register_class_mysqli_stmt(void)
+{
+ zend_class_entry ce, *class_entry;
+
+ INIT_CLASS_ENTRY(ce, "mysqli_stmt", class_mysqli_stmt_methods);
+ class_entry = zend_register_internal_class_ex(&ce, NULL);
+
+ zval property_affected_rows_default_value;
+ ZVAL_NULL(&property_affected_rows_default_value);
+ zend_string *property_affected_rows_name = zend_string_init("affected_rows", sizeof("affected_rows") - 1, 1);
+ zend_declare_property_ex(class_entry, property_affected_rows_name, &property_affected_rows_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_affected_rows_name);
+
+ zval property_insert_id_default_value;
+ ZVAL_NULL(&property_insert_id_default_value);
+ zend_string *property_insert_id_name = zend_string_init("insert_id", sizeof("insert_id") - 1, 1);
+ zend_declare_property_ex(class_entry, property_insert_id_name, &property_insert_id_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_insert_id_name);
+
+ zval property_num_rows_default_value;
+ ZVAL_NULL(&property_num_rows_default_value);
+ zend_string *property_num_rows_name = zend_string_init("num_rows", sizeof("num_rows") - 1, 1);
+ zend_declare_property_ex(class_entry, property_num_rows_name, &property_num_rows_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_num_rows_name);
+
+ zval property_param_count_default_value;
+ ZVAL_NULL(&property_param_count_default_value);
+ zend_string *property_param_count_name = zend_string_init("param_count", sizeof("param_count") - 1, 1);
+ zend_declare_property_ex(class_entry, property_param_count_name, &property_param_count_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_param_count_name);
+
+ zval property_field_count_default_value;
+ ZVAL_NULL(&property_field_count_default_value);
+ zend_string *property_field_count_name = zend_string_init("field_count", sizeof("field_count") - 1, 1);
+ zend_declare_property_ex(class_entry, property_field_count_name, &property_field_count_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_field_count_name);
+
+ zval property_errno_default_value;
+ ZVAL_NULL(&property_errno_default_value);
+ zend_string *property_errno_name = zend_string_init("errno", sizeof("errno") - 1, 1);
+ zend_declare_property_ex(class_entry, property_errno_name, &property_errno_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_errno_name);
+
+ zval property_error_default_value;
+ ZVAL_NULL(&property_error_default_value);
+ zend_string *property_error_name = zend_string_init("error", sizeof("error") - 1, 1);
+ zend_declare_property_ex(class_entry, property_error_name, &property_error_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_error_name);
+
+ zval property_error_list_default_value;
+ ZVAL_NULL(&property_error_list_default_value);
+ zend_string *property_error_list_name = zend_string_init("error_list", sizeof("error_list") - 1, 1);
+ zend_declare_property_ex(class_entry, property_error_list_name, &property_error_list_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_error_list_name);
+
+ zval property_sqlstate_default_value;
+ ZVAL_NULL(&property_sqlstate_default_value);
+ zend_string *property_sqlstate_name = zend_string_init("sqlstate", sizeof("sqlstate") - 1, 1);
+ zend_declare_property_ex(class_entry, property_sqlstate_name, &property_sqlstate_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_sqlstate_name);
+
+ zval property_id_default_value;
+ ZVAL_NULL(&property_id_default_value);
+ zend_string *property_id_name = zend_string_init("id", sizeof("id") - 1, 1);
+ zend_declare_property_ex(class_entry, property_id_name, &property_id_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_id_name);
+
+ return class_entry;
+}
+
+static zend_class_entry *register_class_mysqli_warning(void)
+{
+ zend_class_entry ce, *class_entry;
+
+ INIT_CLASS_ENTRY(ce, "mysqli_warning", class_mysqli_warning_methods);
+ class_entry = zend_register_internal_class_ex(&ce, NULL);
+ class_entry->ce_flags |= ZEND_ACC_FINAL;
+
+ zval property_message_default_value;
+ ZVAL_NULL(&property_message_default_value);
+ zend_string *property_message_name = zend_string_init("message", sizeof("message") - 1, 1);
+ zend_declare_property_ex(class_entry, property_message_name, &property_message_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_message_name);
+
+ zval property_sqlstate_default_value;
+ ZVAL_NULL(&property_sqlstate_default_value);
+ zend_string *property_sqlstate_name = zend_string_init("sqlstate", sizeof("sqlstate") - 1, 1);
+ zend_declare_property_ex(class_entry, property_sqlstate_name, &property_sqlstate_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_sqlstate_name);
+
+ zval property_errno_default_value;
+ ZVAL_NULL(&property_errno_default_value);
+ zend_string *property_errno_name = zend_string_init("errno", sizeof("errno") - 1, 1);
+ zend_declare_property_ex(class_entry, property_errno_name, &property_errno_default_value, ZEND_ACC_PUBLIC, NULL);
+ zend_string_release(property_errno_name);
+
+ return class_entry;
+}
+
+static zend_class_entry *register_class_mysqli_sql_exception(zend_class_entry *class_entry_RuntimeException)
+{
+ zend_class_entry ce, *class_entry;
+
+ INIT_CLASS_ENTRY(ce, "mysqli_sql_exception", class_mysqli_sql_exception_methods);
+ class_entry = zend_register_internal_class_ex(&ce, class_entry_RuntimeException);
+ class_entry->ce_flags |= ZEND_ACC_FINAL;
+
+ zval property_sqlstate_default_value;
+ zend_string *property_sqlstate_default_value_str = zend_string_init("00000", sizeof("00000") - 1, 1);
+ ZVAL_STR(&property_sqlstate_default_value, property_sqlstate_default_value_str);
+ zend_string *property_sqlstate_name = zend_string_init("sqlstate", sizeof("sqlstate") - 1, 1);
+ zend_declare_property_ex(class_entry, property_sqlstate_name, &property_sqlstate_default_value, ZEND_ACC_PROTECTED, NULL);
+ zend_string_release(property_sqlstate_name);
+
+ return class_entry;
+}