summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2017-10-28 12:58:11 +0200
committerNikita Popov <nikita.ppv@gmail.com>2017-10-28 12:58:23 +0200
commit58f90ab569b1a6fb5842dfa514794ace907ac35b (patch)
tree57a702e131443a2c30f751fe43d0c5be65cb74dd
parentcc96166f743011c037d9915681b28c363c189e0a (diff)
parent27856f64c332752cbc6874327ebbe161294b9637 (diff)
downloadphp-git-58f90ab569b1a6fb5842dfa514794ace907ac35b.tar.gz
Merge branch 'PHP-7.1' into PHP-7.2
-rw-r--r--NEWS4
-rw-r--r--ext/mysqli/mysqli_fe.c4
-rw-r--r--ext/mysqli/tests/bug75434.phpt24
-rw-r--r--ext/mysqli/tests/mysqli_class_mysqli_result_reflection.phpt9
4 files changed, 38 insertions, 3 deletions
diff --git a/NEWS b/NEWS
index 9a7b89ecc6..1a0fb8c159 100644
--- a/NEWS
+++ b/NEWS
@@ -9,6 +9,10 @@ PHP NEWS
- GD:
. Fixed bug #75437 (Wrong reflection on imagewebp). (Fabien Villepinte)
+- Mysqli:
+ . Fixed bug #75434 (Wrong reflection for mysqli_fetch_all function). (Fabien
+ Villepinte)
+
26 Oct 2017, PHP 7.2.0RC5
- Core:
diff --git a/ext/mysqli/mysqli_fe.c b/ext/mysqli/mysqli_fe.c
index 4f88bac295..287c61c012 100644
--- a/ext/mysqli/mysqli_fe.c
+++ b/ext/mysqli/mysqli_fe.c
@@ -436,7 +436,7 @@ const zend_function_entry mysqli_functions[] = {
PHP_FE(mysqli_fetch_field_direct, arginfo_mysqli_result_and_fieldnr)
PHP_FE(mysqli_fetch_lengths, arginfo_mysqli_only_result)
#ifdef MYSQLI_USE_MYSQLND
- PHP_FE(mysqli_fetch_all, arginfo_mysqli_only_result)
+ PHP_FE(mysqli_fetch_all, arginfo_mysqli_fetch_array)
#endif
PHP_FE(mysqli_fetch_array, arginfo_mysqli_fetch_array)
PHP_FE(mysqli_fetch_assoc, arginfo_mysqli_only_result)
@@ -616,7 +616,7 @@ const zend_function_entry mysqli_result_methods[] = {
PHP_FALIAS(fetch_fields, mysqli_fetch_fields, arginfo_mysqli_no_params)
PHP_FALIAS(fetch_field_direct, mysqli_fetch_field_direct, arginfo_class_mysqli_result_and_fieldnr)
#if defined(MYSQLI_USE_MYSQLND)
- PHP_FALIAS(fetch_all, mysqli_fetch_all, arginfo_mysqli_no_params)
+ PHP_FALIAS(fetch_all, mysqli_fetch_all, arginfo_class_mysqli_fetch_array)
#endif
PHP_FALIAS(fetch_array, mysqli_fetch_array, arginfo_class_mysqli_fetch_array)
PHP_FALIAS(fetch_assoc, mysqli_fetch_assoc, arginfo_mysqli_no_params)
diff --git a/ext/mysqli/tests/bug75434.phpt b/ext/mysqli/tests/bug75434.phpt
new file mode 100644
index 0000000000..88050ec4a5
--- /dev/null
+++ b/ext/mysqli/tests/bug75434.phpt
@@ -0,0 +1,24 @@
+--TEST--
+Bug #75434 Wrong reflection for mysqli_fetch_all function
+--SKIPIF--
+<?php
+require_once('skipif.inc');
+if (!extension_loaded("reflection")) die("skip reflection extension not available");
+?>
+--FILE--
+<?php
+$rf = new ReflectionFunction('mysqli_fetch_all');
+var_dump($rf->getNumberOfParameters());
+var_dump($rf->getNumberOfRequiredParameters());
+
+$rm = new ReflectionMethod('mysqli_result', 'fetch_all');
+var_dump($rm->getNumberOfParameters());
+var_dump($rm->getNumberOfRequiredParameters());
+?>
+===DONE===
+--EXPECT--
+int(2)
+int(1)
+int(1)
+int(0)
+===DONE===
diff --git a/ext/mysqli/tests/mysqli_class_mysqli_result_reflection.phpt b/ext/mysqli/tests/mysqli_class_mysqli_result_reflection.phpt
index 5e65afdb7d..89be46fb8a 100644
--- a/ext/mysqli/tests/mysqli_class_mysqli_result_reflection.phpt
+++ b/ext/mysqli/tests/mysqli_class_mysqli_result_reflection.phpt
@@ -124,9 +124,16 @@ isInternal: yes
isUserDefined: no
returnsReference: no
Modifiers: 256
-Number of Parameters: 0
+Number of Parameters: 1
Number of Required Parameters: 0
+Inspecting parameter 'result_type' of method 'fetch_all'
+isArray: no
+allowsNull: no
+isPassedByReference: no
+isOptional: yes
+isDefaultValueAvailable: no
+
Inspecting method 'fetch_array'
isFinal: no
isAbstract: no