@@ -38,7 +38,7 @@ if (mysqli_get_server_version($link) <= 40100) {
38
38
$ stmt = $ link ->prepare ('SELECT label, ? AS anon, ? AS num FROM test WHERE id=? ' );
39
39
try {
40
40
$ stmt ->execute ([&$ abc , 42 ]);
41
- } catch (mysqli_sql_exception $ e ) {
41
+ } catch (ValueError $ e ) {
42
42
echo '[001] ' .$ e ->getMessage ()."\n" ;
43
43
}
44
44
$ stmt = null ;
@@ -47,7 +47,7 @@ if (mysqli_get_server_version($link) <= 40100) {
47
47
$ stmt = $ link ->prepare ('SELECT label, ? AS anon, ? AS num FROM test WHERE id=? ' );
48
48
try {
49
49
$ stmt ->execute ([&$ abc , null , $ id , 24 ]);
50
- } catch (ArgumentCountError $ e ) {
50
+ } catch (ValueError $ e ) {
51
51
echo '[002] ' .$ e ->getMessage ()."\n" ;
52
52
}
53
53
$ stmt = null ;
@@ -56,7 +56,7 @@ if (mysqli_get_server_version($link) <= 40100) {
56
56
$ stmt = $ link ->prepare ('SELECT label, ? AS anon, ? AS num FROM test WHERE id=? ' );
57
57
try {
58
58
$ stmt ->execute ([]);
59
- } catch (mysqli_sql_exception $ e ) {
59
+ } catch (ValueError $ e ) {
60
60
echo '[003] ' .$ e ->getMessage ()."\n" ;
61
61
}
62
62
$ stmt = null ;
@@ -110,7 +110,7 @@ if (mysqli_get_server_version($link) <= 40100) {
110
110
assert ($ stmt ->get_result ()->fetch_assoc () === ['label ' =>'a ' , 'anon ' =>'abc ' , 'num ' => '42 ' ]);
111
111
try {
112
112
$ stmt ->execute ([]); // no params here. PDO doesn't throw an error, but mysqli does
113
- } catch (mysqli_sql_exception $ e ) {
113
+ } catch (ValueError $ e ) {
114
114
echo '[007] ' .$ e ->getMessage ()."\n" ;
115
115
}
116
116
$ stmt = null ;
@@ -137,11 +137,11 @@ if (mysqli_get_server_version($link) <= 40100) {
137
137
require_once ("clean_table.inc " );
138
138
?>
139
139
--EXPECT--
140
- [001] No data supplied for 1 parameter in prepared statement
141
- [002] The number of values must match the number of parameters in the prepared statement
142
- [003] No data supplied for 3 parameters in prepared statement
140
+ [001] mysqli_stmt::execute(): Argument #1 ($params) must consist of exactly 3 elements, 2 present
141
+ [002] mysqli_stmt::execute(): Argument #1 ($params) must consist of exactly 3 elements, 4 present
142
+ [003] mysqli_stmt::execute(): Argument #1 ($params) must consist of exactly 3 elements, 0 present
143
143
[004] No data supplied for parameters in prepared statement
144
144
[005] mysqli_stmt::execute(): Argument #1 ($params) must be of type ?array, int given
145
145
[006] mysqli_stmt::execute(): Argument #1 ($params) must be of type ?array, stdClass given
146
- [007] No data supplied for 3 parameters in prepared statement
146
+ [007] mysqli_stmt::execute(): Argument #1 ($params) must consist of exactly 3 elements, 0 present
147
147
done!
0 commit comments