diff options
Diffstat (limited to 'ext/mysqli/tests/bug77935.phpt')
-rw-r--r-- | ext/mysqli/tests/bug77935.phpt | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/ext/mysqli/tests/bug77935.phpt b/ext/mysqli/tests/bug77935.phpt new file mode 100644 index 0000000000..7a39ac0065 --- /dev/null +++ b/ext/mysqli/tests/bug77935.phpt @@ -0,0 +1,38 @@ +--TEST-- +Bug #77935: Crash in mysqlnd_fetch_stmt_row_cursor when calling an SP with a cursor +--SKIPIF-- +<?php +require_once('skipif.inc'); +require_once('skipifconnectfailure.inc'); +?> +--FILE-- +<?php +require_once(__DIR__ . '/connect.inc'); + +mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); +$db = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket); +$db->query('DROP PROCEDURE IF EXISTS testSp'); +$db->query(<<<'SQL' +CREATE + PROCEDURE `testSp`() + BEGIN + DECLARE `cur` CURSOR FOR SELECT 1; + OPEN `cur`; + CLOSE `cur`; + SELECT 1; + END; +SQL); + +$stmt = $db->prepare("CALL testSp()"); +$stmt->execute(); +$result = $stmt->get_result(); +while ($row = $result->fetch_assoc()) { + var_dump($row); +} + +?> +--EXPECT-- +array(1) { + [1]=> + int(1) +} |