mirror of
https://github.com/php/php-src.git
synced 2025-01-07 11:34:09 +08:00
52 lines
1.1 KiB
PHP
52 lines
1.1 KiB
PHP
--TEST--
|
|
function test: nested selects (cursors)
|
|
--SKIPIF--
|
|
<?php
|
|
require_once('skipif.inc');
|
|
/* skip cursor test for versions < 50004 */
|
|
if (mysqli_get_client_version() < 50009) {
|
|
die("skip Client library doesn't support cursors");
|
|
}
|
|
?>
|
|
--FILE--
|
|
<?php
|
|
|
|
function open_cursor($mysql, $query) {
|
|
$stmt = $mysql->prepare($query);
|
|
$stmt->attr_set(MYSQLI_STMT_ATTR_CURSOR_TYPE, MYSQLI_CURSOR_TYPE_READ_ONLY);
|
|
return $stmt;
|
|
}
|
|
|
|
include "connect.inc";
|
|
$a = array();
|
|
|
|
/*** test mysqli_connect 127.0.0.1 ***/
|
|
$mysql = new mysqli($host, $user, $passwd, "test");
|
|
|
|
for ($i=0;$i < 3; $i++) {
|
|
$mysql->query("DROP TABLE IF EXISTS cursor$i");
|
|
$mysql->query("CREATE TABLE cursor$i (a int not null)");
|
|
$mysql->query("INSERT INTO cursor$i VALUES (1),(2),(3),(4),(5),(6)");
|
|
$stmt[$i] = open_cursor($mysql, "SELECT a FROM cursor$i");
|
|
$stmt[$i]->execute();
|
|
$stmt[$i]->bind_result($a[$i]);
|
|
}
|
|
|
|
|
|
$cnt = 0;
|
|
while ($stmt[0]->fetch()) {
|
|
$stmt[1]->fetch();
|
|
$stmt[2]->fetch();
|
|
$cnt += $a[0] + $a[1] + $a[2];
|
|
}
|
|
|
|
for ($i=0; $i < 3; $i++) {
|
|
$stmt[$i]->close();
|
|
}
|
|
|
|
$mysql->close();
|
|
var_dump($cnt);
|
|
?>
|
|
--EXPECT--
|
|
int(63)
|