summaryrefslogtreecommitdiff
path: root/ext/mysqli/mysqli_api.c
diff options
context:
space:
mode:
authorGeorg Richter <georg@php.net>2005-06-17 16:32:43 +0000
committerGeorg Richter <georg@php.net>2005-06-17 16:32:43 +0000
commit15563f8d91c1f0e76e36eb59eec3a39b6793abb5 (patch)
treef286c287b61cb6dacde4df633d2744cb3021a5ab /ext/mysqli/mysqli_api.c
parent987f6f8fcf5cd12ab0b005fbff4657d9be3f3dca (diff)
downloadphp-git-15563f8d91c1f0e76e36eb59eec3a39b6793abb5.tar.gz
fix for bug #33263 (mysqli_real_escape doesn't work in __construct)
Diffstat (limited to 'ext/mysqli/mysqli_api.c')
-rw-r--r--ext/mysqli/mysqli_api.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/ext/mysqli/mysqli_api.c b/ext/mysqli/mysqli_api.c
index 2fc40bb6df..f41d858eb2 100644
--- a/ext/mysqli/mysqli_api.c
+++ b/ext/mysqli/mysqli_api.c
@@ -1030,7 +1030,13 @@ PHP_FUNCTION(mysqli_init)
mysqli_resource = (MYSQLI_RESOURCE *)ecalloc (1, sizeof(MYSQLI_RESOURCE));
mysqli_resource->ptr = (void *)mysql;
- MYSQLI_RETURN_RESOURCE(mysqli_resource, mysqli_link_class_entry);
+
+ if (!getThis()) {
+ MYSQLI_RETURN_RESOURCE(mysqli_resource, mysqli_link_class_entry);
+ } else {
+ ((mysqli_object *) zend_object_store_get_object(getThis() TSRMLS_CC))->ptr = mysqli_resource;
+ ((mysqli_object *) zend_object_store_get_object(getThis() TSRMLS_CC))->valid = 1;
+ }
}
/* }}} */
@@ -1743,7 +1749,7 @@ PHP_FUNCTION(mysqli_stmt_attr_set)
ulong attr;
int rc;
- if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Olb", &mysql_stmt, mysqli_stmt_class_entry, &attr, &mode) == FAILURE) {
+ if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Oll", &mysql_stmt, mysqli_stmt_class_entry, &attr, &mode) == FAILURE) {
return;
}
MYSQLI_FETCH_RESOURCE(stmt, MY_STMT *, &mysql_stmt, "mysqli_stmt");