From 4c401914f882d0d1e2d95b234367c468dc569964 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Thu, 6 Jun 2019 14:16:25 +0200 Subject: [PATCH] ctor_params of mysqli_fetch_object should use "a" --- ext/mysqli/mysqli.c | 2 +- ext/mysqli/tests/mysqli_fetch_object.phpt | 2 +- ext/mysqli/tests/mysqli_fetch_object_oo.phpt | 10 +++++----- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/ext/mysqli/mysqli.c b/ext/mysqli/mysqli.c index 61d97b2a9bc..9d065917cb0 100644 --- a/ext/mysqli/mysqli.c +++ b/ext/mysqli/mysqli.c @@ -1198,7 +1198,7 @@ void php_mysqli_fetch_into_hash(INTERNAL_FUNCTION_PARAMETERS, int override_flags if (into_object) { zend_string *class_name = NULL; - if (zend_parse_method_parameters(ZEND_NUM_ARGS(), getThis(), "O|Sz", &mysql_result, mysqli_result_class_entry, &class_name, &ctor_params) == FAILURE) { + if (zend_parse_method_parameters(ZEND_NUM_ARGS(), getThis(), "O|Sa", &mysql_result, mysqli_result_class_entry, &class_name, &ctor_params) == FAILURE) { return; } if (class_name == NULL) { diff --git a/ext/mysqli/tests/mysqli_fetch_object.phpt b/ext/mysqli/tests/mysqli_fetch_object.phpt index 262b48d49ff..3230162ce77 100644 --- a/ext/mysqli/tests/mysqli_fetch_object.phpt +++ b/ext/mysqli/tests/mysqli_fetch_object.phpt @@ -142,6 +142,6 @@ NULL NULL [E_WARNING] mysqli_fetch_object(): Couldn't fetch mysqli_result in %s on line %d bool(false) -[0] Argument 3 passed to mysqli_fetch_object() must be of the type array, string given in %s on line %d +[0] mysqli_fetch_object() expects parameter 3 to be array, string given in %s on line %d Fatal error: Class 'this_class_does_not_exist' not found in %s on line %d diff --git a/ext/mysqli/tests/mysqli_fetch_object_oo.phpt b/ext/mysqli/tests/mysqli_fetch_object_oo.phpt index 2688f050fac..a81cb7f80ac 100644 --- a/ext/mysqli/tests/mysqli_fetch_object_oo.phpt +++ b/ext/mysqli/tests/mysqli_fetch_object_oo.phpt @@ -123,12 +123,12 @@ require_once('skipifconnectfailure.inc'); require_once("clean_table.inc"); ?> --EXPECTF-- -[E_WARNING] mysqli_result::__construct(): invalid object or resource mysql%s -%s on line %d +[E_WARNING] mysqli_result::__construct(): invalid object or resource mysqli + in %s on line %d [E_WARNING] mysqli_result::fetch_object(): Couldn't fetch mysqli_result in %s on line %d -[0] Argument 2 passed to mysqli_result::fetch_object() must be of the type array, object given in %s on line %d -[0] Argument 2 passed to mysqli_result::fetch_object() must be of the type array, object given in %s on line %d -[0] Argument 2 passed to mysqli_result::fetch_object() must be of the type array, null given in %s on line %d +[0] mysqli_result::fetch_object() expects parameter 1 to be string, object given in %s on line %d +[0] mysqli_result::fetch_object() expects at most 2 parameters, 3 given in %s on line %d +[0] mysqli_result::fetch_object() expects parameter 2 to be array, null given in %s on line %d Exception: Too few arguments to function mysqli_fetch_object_construct::__construct(), 1 passed and exactly 2 expected NULL NULL