/* }}} */
/* {{{ php_mysqli_init() */
-void php_mysqli_init(INTERNAL_FUNCTION_PARAMETERS)
+void php_mysqli_init(INTERNAL_FUNCTION_PARAMETERS, zend_bool is_method)
{
MYSQLI_RESOURCE *mysqli_resource;
MY_MYSQL *mysql;
-// TODO: We can't properly check if this was to mysql_init() in a class method
-// or a call to mysqli->init().
-// To solve the problem, we added instanceof check for the class of $this
-// ???
- if (getThis() &&
- instanceof_function(Z_OBJCE_P(getThis()), mysqli_link_class_entry) &&
- (Z_MYSQLI_P(getThis()))->ptr) {
-//??? if (getThis() && (Z_MYSQLI_P(getThis()))->ptr) {
+ if (is_method && (Z_MYSQLI_P(getThis()))->ptr) {
return;
}
mysqli_resource->ptr = (void *)mysql;
mysqli_resource->status = MYSQLI_STATUS_INITIALIZED;
- if (!getThis() || !instanceof_function(Z_OBJCE_P(getThis()), mysqli_link_class_entry)) {
+ if (!is_method) {
MYSQLI_RETURN_RESOURCE(mysqli_resource, mysqli_link_class_entry);
} else {
(Z_MYSQLI_P(getThis()))->ptr = mysqli_resource;
Initialize mysqli and return a resource for use with mysql_real_connect */
PHP_FUNCTION(mysqli_init)
{
- php_mysqli_init(INTERNAL_FUNCTION_PARAM_PASSTHRU);
+ php_mysqli_init(INTERNAL_FUNCTION_PARAM_PASSTHRU, FALSE);
+}
+/* }}} */
+
+/* {{{ proto resource mysqli::init(void)
+ Initialize mysqli and return a resource for use with mysql_real_connect */
+PHP_FUNCTION(mysqli_init_method)
+{
+ php_mysqli_init(INTERNAL_FUNCTION_PARAM_PASSTHRU, TRUE);
}
/* }}} */
#endif
PHP_FALIAS(get_server_info, mysqli_get_server_info, arginfo_mysqli_no_params)
PHP_FALIAS(get_warnings, mysqli_get_warnings, arginfo_mysqli_no_params)
- PHP_FALIAS(init,mysqli_init, arginfo_mysqli_no_params)
+ PHP_FALIAS(init,mysqli_init_method, arginfo_mysqli_no_params)
PHP_FALIAS(kill,mysqli_kill, arginfo_class_mysqli_kill)
PHP_FALIAS(multi_query, mysqli_multi_query, arginfo_class_mysqli_query)
PHP_FALIAS(mysqli, mysqli_link_construct, arginfo_mysqli_connect)
PHP_FUNCTION(mysqli_info);
PHP_FUNCTION(mysqli_insert_id);
PHP_FUNCTION(mysqli_init);
+PHP_FUNCTION(mysqli_init_method);
PHP_FUNCTION(mysqli_kill);
PHP_FUNCTION(mysqli_link_construct);
PHP_FUNCTION(mysqli_set_local_infile_default);
void mysqli_common_connect(INTERNAL_FUNCTION_PARAMETERS, zend_bool is_real_connect, zend_bool in_ctor);
-void php_mysqli_init(INTERNAL_FUNCTION_PARAMETERS);
+void php_mysqli_init(INTERNAL_FUNCTION_PARAMETERS, zend_bool is_method);
#endif /* MYSQLI_PRIV_H */