39 lines
759 B
PHP
39 lines
759 B
PHP
--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)
|
|
}
|