2017-02-09 01:38:12 +01:00
|
|
|
--TEST--
|
|
|
|
Test closeCursor with a stmt before/after execute and fetch.
|
|
|
|
--SKIPIF--
|
2017-10-04 22:16:25 +02:00
|
|
|
<?php require('skipif_mid-refactor.inc'); ?>
|
2017-02-09 01:38:12 +01:00
|
|
|
--FILE--
|
|
|
|
<?php
|
2017-10-04 22:16:25 +02:00
|
|
|
require_once("MsCommon_mid-refactor.inc");
|
2017-02-09 01:38:12 +01:00
|
|
|
|
|
|
|
try
|
|
|
|
{
|
2017-05-02 21:00:53 +02:00
|
|
|
// Connect
|
2017-09-28 18:48:08 +02:00
|
|
|
$conn = connect();
|
2017-02-09 01:38:12 +01:00
|
|
|
|
2017-09-28 18:48:08 +02:00
|
|
|
$sql = "select 123 as 'IntCol'";
|
2017-02-09 01:38:12 +01:00
|
|
|
// prepare a stmt but don't execute, then closeCursor.
|
2017-10-04 22:16:25 +02:00
|
|
|
$stmt = $conn->prepare($sql);
|
2017-02-09 01:38:12 +01:00
|
|
|
$ret = $stmt->closeCursor();
|
|
|
|
var_dump($ret);
|
|
|
|
$ret = $stmt->closeCursor();
|
|
|
|
var_dump($ret);
|
|
|
|
|
|
|
|
// prepare a stmt and execute, then closeCursor.
|
2017-10-04 22:16:25 +02:00
|
|
|
$stmt = $conn->prepare($sql);
|
2017-02-09 01:38:12 +01:00
|
|
|
$stmt->execute();
|
|
|
|
$ret = $stmt->closeCursor();
|
|
|
|
var_dump($ret);
|
|
|
|
$ret = $stmt->closeCursor();
|
|
|
|
var_dump($ret);
|
|
|
|
|
|
|
|
|
2017-02-10 01:41:39 +01:00
|
|
|
// use two stmt, execute, and fetch, then closeCursor.
|
2017-02-09 01:38:12 +01:00
|
|
|
// use one with client side buffering.
|
2017-10-04 22:16:25 +02:00
|
|
|
$stmt1 = $conn->query($sql);
|
2017-02-09 01:38:12 +01:00
|
|
|
$stmt2 = $conn->prepare("select 'abc' as 'Charcol'", array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED));
|
2017-02-10 01:41:39 +01:00
|
|
|
$result = $stmt1->fetch(PDO::FETCH_NUM);
|
2017-02-09 01:38:12 +01:00
|
|
|
print_r($result[0]);
|
|
|
|
echo "\n";
|
|
|
|
$ret = $stmt1->closeCursor();
|
|
|
|
var_dump($ret);
|
2017-02-10 01:41:39 +01:00
|
|
|
$stmt2->execute();
|
|
|
|
$result = $stmt2->fetch(PDO::FETCH_NUM);
|
2017-02-09 01:38:12 +01:00
|
|
|
print_r($result[0]);
|
|
|
|
echo "\n";
|
|
|
|
$ret = $stmt2->closeCursor();
|
|
|
|
var_dump($ret);
|
|
|
|
|
2017-10-04 22:16:25 +02:00
|
|
|
unset($stmt1);
|
|
|
|
unset($stmt2);
|
|
|
|
unset($stmt);
|
|
|
|
unset($conn);
|
2017-02-09 01:38:12 +01:00
|
|
|
}
|
2017-10-04 22:16:25 +02:00
|
|
|
catch(PDOException $e) {
|
2017-05-02 21:00:53 +02:00
|
|
|
var_dump($e);
|
|
|
|
exit;
|
2017-02-09 01:38:12 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
print "Done";
|
|
|
|
?>
|
|
|
|
|
|
|
|
--EXPECT--
|
|
|
|
bool(true)
|
|
|
|
bool(true)
|
|
|
|
bool(true)
|
|
|
|
bool(true)
|
|
|
|
123
|
|
|
|
bool(true)
|
|
|
|
abc
|
|
|
|
bool(true)
|
|
|
|
Done
|