From 0f22bc4c1808135912a8883657d4761149310a0e Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Sun, 28 Nov 2021 10:54:07 +0000 Subject: [PATCH 1/5] mysqli_fetch_* functions return mixed values --- dictionaries/CallMap.php | 8 ++++---- dictionaries/CallMap_historical.php | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/dictionaries/CallMap.php b/dictionaries/CallMap.php index e2bb1110424..a90d434e89e 100644 --- a/dictionaries/CallMap.php +++ b/dictionaries/CallMap.php @@ -8464,14 +8464,14 @@ 'mysqli_execute' => ['bool', 'statement'=>'mysqli_stmt', 'params='=>'list|null'], 'mysqli_fetch_all' => ['array', 'result'=>'mysqli_result', 'mode='=>'int'], 'mysqli_fetch_array' => ['array|false|null', 'result'=>'mysqli_result', 'mode='=>'int'], -'mysqli_fetch_assoc' => ['array|false|null', 'result'=>'mysqli_result'], +'mysqli_fetch_assoc' => ['array|false|null', 'result'=>'mysqli_result'], 'mysqli_fetch_column' => ['null|int|float|string|false', 'result'=>'mysqli_result', 'column='=>'int'], 'mysqli_fetch_field' => ['object|false', 'result'=>'mysqli_result'], 'mysqli_fetch_field_direct' => ['object|false', 'result'=>'mysqli_result', 'index'=>'int'], 'mysqli_fetch_fields' => ['array|false', 'result'=>'mysqli_result'], 'mysqli_fetch_lengths' => ['array|false', 'result'=>'mysqli_result'], 'mysqli_fetch_object' => ['object|false|null', 'result'=>'mysqli_result', 'class='=>'class-string', 'constructor_args='=>'array'], -'mysqli_fetch_row' => ['array|false|null', 'result'=>'mysqli_result'], +'mysqli_fetch_row' => ['list|false|null', 'result'=>'mysqli_result'], 'mysqli_field_count' => ['int', 'mysql'=>'mysqli'], 'mysqli_field_seek' => ['bool', 'result'=>'mysqli_result', 'index'=>'int'], 'mysqli_field_tell' => ['int', 'result'=>'mysqli_result'], @@ -8516,13 +8516,13 @@ 'mysqli_result::data_seek' => ['bool', 'offset'=>'int'], 'mysqli_result::fetch_all' => ['array', 'mode='=>'int'], 'mysqli_result::fetch_array' => ['array|false|null', 'mode='=>'int'], -'mysqli_result::fetch_assoc' => ['array|false|null'], +'mysqli_result::fetch_assoc' => ['array|false|null'], 'mysqli_result::fetch_column' => ['null|int|float|string|false', 'column='=>'int'], 'mysqli_result::fetch_field' => ['object|false'], 'mysqli_result::fetch_field_direct' => ['object|false', 'index'=>'int'], 'mysqli_result::fetch_fields' => ['array|false'], 'mysqli_result::fetch_object' => ['object|false|null', 'class='=>'class-string', 'constructor_args='=>'array'], -'mysqli_result::fetch_row' => ['array|false|null'], +'mysqli_result::fetch_row' => ['list|false|null'], 'mysqli_result::field_seek' => ['bool', 'index'=>'int'], 'mysqli_result::free' => ['void'], 'mysqli_result::free_result' => ['void'], diff --git a/dictionaries/CallMap_historical.php b/dictionaries/CallMap_historical.php index 726ba7290a5..90dfa3f77db 100644 --- a/dictionaries/CallMap_historical.php +++ b/dictionaries/CallMap_historical.php @@ -13400,13 +13400,13 @@ 'mysqli_execute' => ['bool', 'statement'=>'mysqli_stmt'], 'mysqli_fetch_all' => ['array', 'result'=>'mysqli_result', 'mode='=>'int'], 'mysqli_fetch_array' => ['array|false|null', 'result'=>'mysqli_result', 'mode='=>'int'], - 'mysqli_fetch_assoc' => ['array|false|null', 'result'=>'mysqli_result'], + 'mysqli_fetch_assoc' => ['array|false|null', 'result'=>'mysqli_result'], 'mysqli_fetch_field' => ['object|false', 'result'=>'mysqli_result'], 'mysqli_fetch_field_direct' => ['object|false', 'result'=>'mysqli_result', 'index'=>'int'], 'mysqli_fetch_fields' => ['array|false', 'result'=>'mysqli_result'], 'mysqli_fetch_lengths' => ['array|false', 'result'=>'mysqli_result'], 'mysqli_fetch_object' => ['object|false|null', 'result'=>'mysqli_result', 'class='=>'class-string', 'constructor_args='=>'array'], - 'mysqli_fetch_row' => ['array|false|null', 'result'=>'mysqli_result'], + 'mysqli_fetch_row' => ['list|false|null', 'result'=>'mysqli_result'], 'mysqli_field_count' => ['int', 'mysql'=>'mysqli'], 'mysqli_field_seek' => ['bool', 'result'=>'mysqli_result', 'index'=>'int'], 'mysqli_field_tell' => ['int', 'result'=>'mysqli_result'], @@ -13451,12 +13451,12 @@ 'mysqli_result::data_seek' => ['bool', 'offset'=>'int'], 'mysqli_result::fetch_all' => ['array', 'mode='=>'int'], 'mysqli_result::fetch_array' => ['array|false|null', 'mode='=>'int'], - 'mysqli_result::fetch_assoc' => ['array|false|null'], + 'mysqli_result::fetch_assoc' => ['array|false|null'], 'mysqli_result::fetch_field' => ['object|false'], 'mysqli_result::fetch_field_direct' => ['object|false', 'index'=>'int'], 'mysqli_result::fetch_fields' => ['array|false'], 'mysqli_result::fetch_object' => ['object|false|null', 'class='=>'class-string', 'constructor_args='=>'array'], - 'mysqli_result::fetch_row' => ['array|false|null'], + 'mysqli_result::fetch_row' => ['list|false|null'], 'mysqli_result::field_seek' => ['bool', 'index'=>'int'], 'mysqli_result::free' => ['void'], 'mysqli_result::free_result' => ['void'], From f7aa5ea4b9ba7dbe49c77e0f3b19e03c5813cf13 Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Sun, 28 Nov 2021 11:15:34 +0000 Subject: [PATCH 2/5] Expand mysqli_fetch_array --- dictionaries/CallMap.php | 8 ++++++-- dictionaries/CallMap_historical.php | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/dictionaries/CallMap.php b/dictionaries/CallMap.php index a90d434e89e..da503f80f63 100644 --- a/dictionaries/CallMap.php +++ b/dictionaries/CallMap.php @@ -8463,7 +8463,9 @@ 'mysqli_escape_string' => ['string', 'mysql'=>'mysqli', 'string'=>'string'], 'mysqli_execute' => ['bool', 'statement'=>'mysqli_stmt', 'params='=>'list|null'], 'mysqli_fetch_all' => ['array', 'result'=>'mysqli_result', 'mode='=>'int'], -'mysqli_fetch_array' => ['array|false|null', 'result'=>'mysqli_result', 'mode='=>'int'], +'mysqli_fetch_array' => ['array|false|null', 'result'=>'mysqli_result', 'mode='=>'MYSQLI_BOTH'], +'mysqli_fetch_array\'1' => ['array|false|null', 'result'=>'mysqli_result', 'mode='=>'MYSQLI_ASSOC'], +'mysqli_fetch_array\'2' => ['list|false|null', 'result'=>'mysqli_result', 'mode='=>'MYSQLI_NUM'], 'mysqli_fetch_assoc' => ['array|false|null', 'result'=>'mysqli_result'], 'mysqli_fetch_column' => ['null|int|float|string|false', 'result'=>'mysqli_result', 'column='=>'int'], 'mysqli_fetch_field' => ['object|false', 'result'=>'mysqli_result'], @@ -8515,7 +8517,9 @@ 'mysqli_result::close' => ['void'], 'mysqli_result::data_seek' => ['bool', 'offset'=>'int'], 'mysqli_result::fetch_all' => ['array', 'mode='=>'int'], -'mysqli_result::fetch_array' => ['array|false|null', 'mode='=>'int'], +'mysqli_result::fetch_array' => ['array|false|null', 'mode='=>'MYSQLI_BOTH'], +'mysqli_result::fetch_array\'1' => ['array|false|null', 'mode='=>'MYSQLI_ASSOC'], +'mysqli_result::fetch_array\'2' => ['list|false|null', 'mode='=>'MYSQLI_NUM'], 'mysqli_result::fetch_assoc' => ['array|false|null'], 'mysqli_result::fetch_column' => ['null|int|float|string|false', 'column='=>'int'], 'mysqli_result::fetch_field' => ['object|false'], diff --git a/dictionaries/CallMap_historical.php b/dictionaries/CallMap_historical.php index 90dfa3f77db..7b500c33488 100644 --- a/dictionaries/CallMap_historical.php +++ b/dictionaries/CallMap_historical.php @@ -13399,7 +13399,9 @@ 'mysqli_escape_string' => ['string', 'mysql'=>'mysqli', 'string'=>'string'], 'mysqli_execute' => ['bool', 'statement'=>'mysqli_stmt'], 'mysqli_fetch_all' => ['array', 'result'=>'mysqli_result', 'mode='=>'int'], - 'mysqli_fetch_array' => ['array|false|null', 'result'=>'mysqli_result', 'mode='=>'int'], + 'mysqli_fetch_array' => ['array|false|null', 'result'=>'mysqli_result', 'mode='=>'MYSQLI_BOTH'], + 'mysqli_fetch_array\'1' => ['array|false|null', 'result'=>'mysqli_result', 'mode='=>'MYSQLI_ASSOC'], + 'mysqli_fetch_array\'2' => ['list|false|null', 'result'=>'mysqli_result', 'mode='=>'MYSQLI_NUM'], 'mysqli_fetch_assoc' => ['array|false|null', 'result'=>'mysqli_result'], 'mysqli_fetch_field' => ['object|false', 'result'=>'mysqli_result'], 'mysqli_fetch_field_direct' => ['object|false', 'result'=>'mysqli_result', 'index'=>'int'], @@ -13450,7 +13452,9 @@ 'mysqli_result::close' => ['void'], 'mysqli_result::data_seek' => ['bool', 'offset'=>'int'], 'mysqli_result::fetch_all' => ['array', 'mode='=>'int'], - 'mysqli_result::fetch_array' => ['array|false|null', 'mode='=>'int'], + 'mysqli_result::fetch_array' => ['array|false|null', 'mode='=>'MYSQLI_BOTH'], + 'mysqli_result::fetch_array\'1' => ['array|false|null', 'mode='=>'MYSQLI_ASSOC'], + 'mysqli_result::fetch_array\'2' => ['list|false|null', 'mode='=>'MYSQLI_NUM'], 'mysqli_result::fetch_assoc' => ['array|false|null'], 'mysqli_result::fetch_field' => ['object|false'], 'mysqli_result::fetch_field_direct' => ['object|false', 'index'=>'int'], From d64539faa1568128c1ba148655718bc093e571a4 Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Sun, 28 Nov 2021 12:22:41 +0000 Subject: [PATCH 3/5] Fix indentation --- stubs/mysqli.phpstub | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/stubs/mysqli.phpstub b/stubs/mysqli.phpstub index f4244364e34..49758497dbd 100644 --- a/stubs/mysqli.phpstub +++ b/stubs/mysqli.phpstub @@ -9,7 +9,7 @@ class mysqli_result implements Traversable { /** * @psalm-taint-sink callable $class - + * * @template T of object * @param class-string $class * @param array $constructor_args @@ -20,11 +20,11 @@ class mysqli_result implements Traversable /** - * @psalm-taint-sink callable $class - - * @template T of object - * @param class-string $class - * @param array $constructor_args - * @return T|null|false - */ + * @psalm-taint-sink callable $class + * + * @template T of object + * @param class-string $class + * @param array $constructor_args + * @return T|null|false + */ function mysqli_fetch_object(mysqli_result $result, string $class = stdClass::class, array $constructor_args = []): object|false|null {} From 84079d183371df81b25ccfda9f850bd021563946 Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Sun, 28 Nov 2021 13:32:20 +0000 Subject: [PATCH 4/5] More specific array return types --- dictionaries/CallMap.php | 28 ++++++++++++++++------------ dictionaries/CallMap_historical.php | 28 ++++++++++++++++------------ 2 files changed, 32 insertions(+), 24 deletions(-) diff --git a/dictionaries/CallMap.php b/dictionaries/CallMap.php index da503f80f63..5a9899df5f2 100644 --- a/dictionaries/CallMap.php +++ b/dictionaries/CallMap.php @@ -8462,18 +8462,20 @@ 'mysqli_error_list' => ['array', 'mysql'=>'mysqli'], 'mysqli_escape_string' => ['string', 'mysql'=>'mysqli', 'string'=>'string'], 'mysqli_execute' => ['bool', 'statement'=>'mysqli_stmt', 'params='=>'list|null'], -'mysqli_fetch_all' => ['array', 'result'=>'mysqli_result', 'mode='=>'int'], -'mysqli_fetch_array' => ['array|false|null', 'result'=>'mysqli_result', 'mode='=>'MYSQLI_BOTH'], -'mysqli_fetch_array\'1' => ['array|false|null', 'result'=>'mysqli_result', 'mode='=>'MYSQLI_ASSOC'], -'mysqli_fetch_array\'2' => ['list|false|null', 'result'=>'mysqli_result', 'mode='=>'MYSQLI_NUM'], -'mysqli_fetch_assoc' => ['array|false|null', 'result'=>'mysqli_result'], +'mysqli_fetch_all' => ['list>', 'result'=>'mysqli_result', 'mode='=>'3'], +'mysqli_fetch_all\'1' => ['list>', 'result'=>'mysqli_result', 'mode='=>'1'], +'mysqli_fetch_all\'2' => ['list>', 'result'=>'mysqli_result', 'mode='=>'2'], +'mysqli_fetch_array' => ['array|false|null', 'result'=>'mysqli_result', 'mode='=>'3'], +'mysqli_fetch_array\'1' => ['array|false|null', 'result'=>'mysqli_result', 'mode='=>'1'], +'mysqli_fetch_array\'2' => ['list|false|null', 'result'=>'mysqli_result', 'mode='=>'2'], +'mysqli_fetch_assoc' => ['array|false|null', 'result'=>'mysqli_result'], 'mysqli_fetch_column' => ['null|int|float|string|false', 'result'=>'mysqli_result', 'column='=>'int'], 'mysqli_fetch_field' => ['object|false', 'result'=>'mysqli_result'], 'mysqli_fetch_field_direct' => ['object|false', 'result'=>'mysqli_result', 'index'=>'int'], 'mysqli_fetch_fields' => ['array|false', 'result'=>'mysqli_result'], 'mysqli_fetch_lengths' => ['array|false', 'result'=>'mysqli_result'], 'mysqli_fetch_object' => ['object|false|null', 'result'=>'mysqli_result', 'class='=>'class-string', 'constructor_args='=>'array'], -'mysqli_fetch_row' => ['list|false|null', 'result'=>'mysqli_result'], +'mysqli_fetch_row' => ['list|false|null', 'result'=>'mysqli_result'], 'mysqli_field_count' => ['int', 'mysql'=>'mysqli'], 'mysqli_field_seek' => ['bool', 'result'=>'mysqli_result', 'index'=>'int'], 'mysqli_field_tell' => ['int', 'result'=>'mysqli_result'], @@ -8516,17 +8518,19 @@ 'mysqli_result::__construct' => ['void', 'mysql'=>'mysqli', 'result_mode='=>'int'], 'mysqli_result::close' => ['void'], 'mysqli_result::data_seek' => ['bool', 'offset'=>'int'], -'mysqli_result::fetch_all' => ['array', 'mode='=>'int'], -'mysqli_result::fetch_array' => ['array|false|null', 'mode='=>'MYSQLI_BOTH'], -'mysqli_result::fetch_array\'1' => ['array|false|null', 'mode='=>'MYSQLI_ASSOC'], -'mysqli_result::fetch_array\'2' => ['list|false|null', 'mode='=>'MYSQLI_NUM'], -'mysqli_result::fetch_assoc' => ['array|false|null'], +'mysqli_result::fetch_all' => ['list>', 'mode='=>'3'], +'mysqli_result::fetch_all\'1' => ['list>', 'mode='=>'1'], +'mysqli_result::fetch_all\'2' => ['list>', 'mode='=>'2'], +'mysqli_result::fetch_array' => ['array|false|null', 'mode='=>'3'], +'mysqli_result::fetch_array\'1' => ['array|false|null', 'mode='=>'1'], +'mysqli_result::fetch_array\'2' => ['list|false|null', 'mode='=>'2'], +'mysqli_result::fetch_assoc' => ['array|false|null'], 'mysqli_result::fetch_column' => ['null|int|float|string|false', 'column='=>'int'], 'mysqli_result::fetch_field' => ['object|false'], 'mysqli_result::fetch_field_direct' => ['object|false', 'index'=>'int'], 'mysqli_result::fetch_fields' => ['array|false'], 'mysqli_result::fetch_object' => ['object|false|null', 'class='=>'class-string', 'constructor_args='=>'array'], -'mysqli_result::fetch_row' => ['list|false|null'], +'mysqli_result::fetch_row' => ['list|false|null'], 'mysqli_result::field_seek' => ['bool', 'index'=>'int'], 'mysqli_result::free' => ['void'], 'mysqli_result::free_result' => ['void'], diff --git a/dictionaries/CallMap_historical.php b/dictionaries/CallMap_historical.php index 7b500c33488..67c46e9c05a 100644 --- a/dictionaries/CallMap_historical.php +++ b/dictionaries/CallMap_historical.php @@ -13398,17 +13398,19 @@ 'mysqli_error_list' => ['array', 'mysql'=>'mysqli'], 'mysqli_escape_string' => ['string', 'mysql'=>'mysqli', 'string'=>'string'], 'mysqli_execute' => ['bool', 'statement'=>'mysqli_stmt'], - 'mysqli_fetch_all' => ['array', 'result'=>'mysqli_result', 'mode='=>'int'], - 'mysqli_fetch_array' => ['array|false|null', 'result'=>'mysqli_result', 'mode='=>'MYSQLI_BOTH'], - 'mysqli_fetch_array\'1' => ['array|false|null', 'result'=>'mysqli_result', 'mode='=>'MYSQLI_ASSOC'], - 'mysqli_fetch_array\'2' => ['list|false|null', 'result'=>'mysqli_result', 'mode='=>'MYSQLI_NUM'], - 'mysqli_fetch_assoc' => ['array|false|null', 'result'=>'mysqli_result'], + 'mysqli_fetch_all' => ['list>', 'result'=>'mysqli_result', 'mode='=>'3'], + 'mysqli_fetch_all\'1' => ['list>', 'result'=>'mysqli_result', 'mode='=>'1'], + 'mysqli_fetch_all\'2' => ['list>', 'result'=>'mysqli_result', 'mode='=>'2'], + 'mysqli_fetch_array' => ['array|false|null', 'result'=>'mysqli_result', 'mode='=>'3'], + 'mysqli_fetch_array\'1' => ['array|false|null', 'result'=>'mysqli_result', 'mode='=>'1'], + 'mysqli_fetch_array\'2' => ['list|false|null', 'result'=>'mysqli_result', 'mode='=>'2'], + 'mysqli_fetch_assoc' => ['array|false|null', 'result'=>'mysqli_result'], 'mysqli_fetch_field' => ['object|false', 'result'=>'mysqli_result'], 'mysqli_fetch_field_direct' => ['object|false', 'result'=>'mysqli_result', 'index'=>'int'], 'mysqli_fetch_fields' => ['array|false', 'result'=>'mysqli_result'], 'mysqli_fetch_lengths' => ['array|false', 'result'=>'mysqli_result'], 'mysqli_fetch_object' => ['object|false|null', 'result'=>'mysqli_result', 'class='=>'class-string', 'constructor_args='=>'array'], - 'mysqli_fetch_row' => ['list|false|null', 'result'=>'mysqli_result'], + 'mysqli_fetch_row' => ['list|false|null', 'result'=>'mysqli_result'], 'mysqli_field_count' => ['int', 'mysql'=>'mysqli'], 'mysqli_field_seek' => ['bool', 'result'=>'mysqli_result', 'index'=>'int'], 'mysqli_field_tell' => ['int', 'result'=>'mysqli_result'], @@ -13451,16 +13453,18 @@ 'mysqli_result::__construct' => ['void', 'mysql'=>'mysqli', 'result_mode='=>'int'], 'mysqli_result::close' => ['void'], 'mysqli_result::data_seek' => ['bool', 'offset'=>'int'], - 'mysqli_result::fetch_all' => ['array', 'mode='=>'int'], - 'mysqli_result::fetch_array' => ['array|false|null', 'mode='=>'MYSQLI_BOTH'], - 'mysqli_result::fetch_array\'1' => ['array|false|null', 'mode='=>'MYSQLI_ASSOC'], - 'mysqli_result::fetch_array\'2' => ['list|false|null', 'mode='=>'MYSQLI_NUM'], - 'mysqli_result::fetch_assoc' => ['array|false|null'], + 'mysqli_result::fetch_all' => ['list>', 'mode='=>'3'], + 'mysqli_result::fetch_all\'1' => ['list>', 'mode='=>'1'], + 'mysqli_result::fetch_all\'2' => ['list>', 'mode='=>'2'], + 'mysqli_result::fetch_array' => ['array|false|null', 'mode='=>'3'], + 'mysqli_result::fetch_array\'1' => ['array|false|null', 'mode='=>'1'], + 'mysqli_result::fetch_array\'2' => ['list|false|null', 'mode='=>'2'], + 'mysqli_result::fetch_assoc' => ['array|false|null'], 'mysqli_result::fetch_field' => ['object|false'], 'mysqli_result::fetch_field_direct' => ['object|false', 'index'=>'int'], 'mysqli_result::fetch_fields' => ['array|false'], 'mysqli_result::fetch_object' => ['object|false|null', 'class='=>'class-string', 'constructor_args='=>'array'], - 'mysqli_result::fetch_row' => ['list|false|null'], + 'mysqli_result::fetch_row' => ['list|false|null'], 'mysqli_result::field_seek' => ['bool', 'index'=>'int'], 'mysqli_result::free' => ['void'], 'mysqli_result::free_result' => ['void'], From 020c5f0d159d3ca9d3b29e6d25e107d9ae992bc8 Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Sun, 28 Nov 2021 13:38:14 +0000 Subject: [PATCH 5/5] Fix mysqli_fetch_fields stub --- dictionaries/CallMap.php | 4 ++-- dictionaries/CallMap_historical.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dictionaries/CallMap.php b/dictionaries/CallMap.php index 5a9899df5f2..11c010ef7e3 100644 --- a/dictionaries/CallMap.php +++ b/dictionaries/CallMap.php @@ -8472,7 +8472,7 @@ 'mysqli_fetch_column' => ['null|int|float|string|false', 'result'=>'mysqli_result', 'column='=>'int'], 'mysqli_fetch_field' => ['object|false', 'result'=>'mysqli_result'], 'mysqli_fetch_field_direct' => ['object|false', 'result'=>'mysqli_result', 'index'=>'int'], -'mysqli_fetch_fields' => ['array|false', 'result'=>'mysqli_result'], +'mysqli_fetch_fields' => ['stdClass[]', 'result'=>'mysqli_result'], 'mysqli_fetch_lengths' => ['array|false', 'result'=>'mysqli_result'], 'mysqli_fetch_object' => ['object|false|null', 'result'=>'mysqli_result', 'class='=>'class-string', 'constructor_args='=>'array'], 'mysqli_fetch_row' => ['list|false|null', 'result'=>'mysqli_result'], @@ -8528,7 +8528,7 @@ 'mysqli_result::fetch_column' => ['null|int|float|string|false', 'column='=>'int'], 'mysqli_result::fetch_field' => ['object|false'], 'mysqli_result::fetch_field_direct' => ['object|false', 'index'=>'int'], -'mysqli_result::fetch_fields' => ['array|false'], +'mysqli_result::fetch_fields' => ['stdClass[]'], 'mysqli_result::fetch_object' => ['object|false|null', 'class='=>'class-string', 'constructor_args='=>'array'], 'mysqli_result::fetch_row' => ['list|false|null'], 'mysqli_result::field_seek' => ['bool', 'index'=>'int'], diff --git a/dictionaries/CallMap_historical.php b/dictionaries/CallMap_historical.php index 67c46e9c05a..18f614ade64 100644 --- a/dictionaries/CallMap_historical.php +++ b/dictionaries/CallMap_historical.php @@ -13407,7 +13407,7 @@ 'mysqli_fetch_assoc' => ['array|false|null', 'result'=>'mysqli_result'], 'mysqli_fetch_field' => ['object|false', 'result'=>'mysqli_result'], 'mysqli_fetch_field_direct' => ['object|false', 'result'=>'mysqli_result', 'index'=>'int'], - 'mysqli_fetch_fields' => ['array|false', 'result'=>'mysqli_result'], + 'mysqli_fetch_fields' => ['stdClass[]', 'result'=>'mysqli_result'], 'mysqli_fetch_lengths' => ['array|false', 'result'=>'mysqli_result'], 'mysqli_fetch_object' => ['object|false|null', 'result'=>'mysqli_result', 'class='=>'class-string', 'constructor_args='=>'array'], 'mysqli_fetch_row' => ['list|false|null', 'result'=>'mysqli_result'], @@ -13462,7 +13462,7 @@ 'mysqli_result::fetch_assoc' => ['array|false|null'], 'mysqli_result::fetch_field' => ['object|false'], 'mysqli_result::fetch_field_direct' => ['object|false', 'index'=>'int'], - 'mysqli_result::fetch_fields' => ['array|false'], + 'mysqli_result::fetch_fields' => ['stdClass[]'], 'mysqli_result::fetch_object' => ['object|false|null', 'class='=>'class-string', 'constructor_args='=>'array'], 'mysqli_result::fetch_row' => ['list|false|null'], 'mysqli_result::field_seek' => ['bool', 'index'=>'int'],