diff options
Diffstat (limited to 'ext/mysqli/mysqli_api.c')
-rw-r--r-- | ext/mysqli/mysqli_api.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/ext/mysqli/mysqli_api.c b/ext/mysqli/mysqli_api.c index 1b2c7998b2..f5dd2749d1 100644 --- a/ext/mysqli/mysqli_api.c +++ b/ext/mysqli/mysqli_api.c @@ -1475,7 +1475,14 @@ void php_mysqli_init(INTERNAL_FUNCTION_PARAMETERS) MYSQLI_RESOURCE *mysqli_resource; MY_MYSQL *mysql; - if (getThis() && (Z_MYSQLI_P(getThis()))->ptr) { +// 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 TSRMLS_CC) && + (Z_MYSQLI_P(getThis()))->ptr) { +//??? if (getThis() && (Z_MYSQLI_P(getThis()))->ptr) { return; } |