Skip to content

Commit 562a852

Browse files
committed
Fix arginfo and test case
1 parent c31d00e commit 562a852

File tree

3 files changed

+16
-11
lines changed

3 files changed

+16
-11
lines changed

ext/mysqli/mysqli.stub.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,7 @@ public function data_seek(int $offset) {}
429429
* @return bool
430430
* @alias mysqli_stmt_execute
431431
*/
432-
public function execute() {}
432+
public function execute(?array $params = null) {}
433433

434434
/**
435435
* @return bool|null
@@ -558,10 +558,10 @@ function mysqli_error(mysqli $mysql): string {}
558558

559559
function mysqli_error_list(mysqli $mysql): array {}
560560

561-
function mysqli_stmt_execute(mysqli_stmt $statement): bool {}
561+
function mysqli_stmt_execute(mysqli_stmt $statement, ?array $params = null): bool {}
562562

563563
/** @alias mysqli_stmt_execute */
564-
function mysqli_execute(mysqli_stmt $statement): bool {}
564+
function mysqli_execute(mysqli_stmt $statement, ?array $params = null): bool {}
565565

566566
function mysqli_fetch_field(mysqli_result $result): object|false {}
567567

ext/mysqli/mysqli_arginfo.h

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* This is a generated file, edit the .stub.php file instead.
2-
* Stub hash: cd44441ccae3d04e4691e0b1b040cafd8db8b521 */
2+
* Stub hash: 3f3d19da5a2b7c8edc6dba0fde6215b93d10bb32 */
33

44
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mysqli_affected_rows, 0, 1, MAY_BE_LONG|MAY_BE_STRING)
55
ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
@@ -71,6 +71,7 @@ ZEND_END_ARG_INFO()
7171

7272
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_stmt_execute, 0, 1, _IS_BOOL, 0)
7373
ZEND_ARG_OBJ_INFO(0, statement, mysqli_stmt, 0)
74+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, params, IS_ARRAY, 1, "null")
7475
ZEND_END_ARG_INFO()
7576

7677
#define arginfo_mysqli_execute arginfo_mysqli_stmt_execute
@@ -300,7 +301,9 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_stmt_bind_result, 0, 1, _
300301
ZEND_ARG_VARIADIC_TYPE_INFO(1, vars, IS_MIXED, 0)
301302
ZEND_END_ARG_INFO()
302303

303-
#define arginfo_mysqli_stmt_close arginfo_mysqli_stmt_execute
304+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_stmt_close, 0, 1, _IS_BOOL, 0)
305+
ZEND_ARG_OBJ_INFO(0, statement, mysqli_stmt, 0)
306+
ZEND_END_ARG_INFO()
304307

305308
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_stmt_data_seek, 0, 2, IS_VOID, 0)
306309
ZEND_ARG_OBJ_INFO(0, statement, mysqli_stmt, 0)
@@ -351,7 +354,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_stmt_more_results, 0, 1,
351354
ZEND_END_ARG_INFO()
352355
#endif
353356

354-
#define arginfo_mysqli_stmt_next_result arginfo_mysqli_stmt_execute
357+
#define arginfo_mysqli_stmt_next_result arginfo_mysqli_stmt_close
355358

356359
#define arginfo_mysqli_stmt_num_rows arginfo_mysqli_stmt_affected_rows
357360

@@ -362,7 +365,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_stmt_prepare, 0, 2, _IS_B
362365
ZEND_ARG_TYPE_INFO(0, query, IS_STRING, 0)
363366
ZEND_END_ARG_INFO()
364367

365-
#define arginfo_mysqli_stmt_reset arginfo_mysqli_stmt_execute
368+
#define arginfo_mysqli_stmt_reset arginfo_mysqli_stmt_close
366369

367370
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_mysqli_stmt_result_metadata, 0, 1, mysqli_result, MAY_BE_FALSE)
368371
ZEND_ARG_OBJ_INFO(0, statement, mysqli_stmt, 0)
@@ -374,7 +377,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_stmt_send_long_data, 0, 3
374377
ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
375378
ZEND_END_ARG_INFO()
376379

377-
#define arginfo_mysqli_stmt_store_result arginfo_mysqli_stmt_execute
380+
#define arginfo_mysqli_stmt_store_result arginfo_mysqli_stmt_close
378381

379382
#define arginfo_mysqli_stmt_sqlstate arginfo_mysqli_stmt_error
380383

@@ -640,7 +643,9 @@ ZEND_END_ARG_INFO()
640643

641644
#define arginfo_class_mysqli_stmt_data_seek arginfo_class_mysqli_result_data_seek
642645

643-
#define arginfo_class_mysqli_stmt_execute arginfo_class_mysqli_character_set_name
646+
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_stmt_execute, 0, 0, 0)
647+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, params, IS_ARRAY, 1, "null")
648+
ZEND_END_ARG_INFO()
644649

645650
#define arginfo_class_mysqli_stmt_fetch arginfo_class_mysqli_character_set_name
646651

ext/mysqli/tests/mysqli_stmt_execute_bind.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ if (mysqli_get_server_version($link) <= 40100) {
131131
[001] No data supplied for 1 parameter in prepared statement
132132
[002] No data supplied for 3 parameters in prepared statement
133133
[003] No data supplied for parameters in prepared statement
134-
[004] mysqli_stmt::execute(): Argument #1 must be of type array, int given
135-
[005] mysqli_stmt::execute(): Argument #1 must be of type array, stdClass given
134+
[004] mysqli_stmt::execute(): Argument #1 ($params) must be of type array, int given
135+
[005] mysqli_stmt::execute(): Argument #1 ($params) must be of type array, stdClass given
136136
[006] No data supplied for 3 parameters in prepared statement
137137
done!

0 commit comments

Comments
 (0)