change pdo_prepare_invalid_cursor.phpt so it prints out errorinfo
This commit is contained in:
parent
d5238008d7
commit
371e019511
|
@ -8,35 +8,35 @@ require_once("autonomous_setup.php");
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
$database = "tempdb";
|
$database = "tempdb";
|
||||||
$conn = new PDO("sqlsrv:Server=$serverName;Database=$database", $username, $password);
|
$conn = new PDO("sqlsrv:Server=$serverName;Database=$database", $username, $password);
|
||||||
|
|
||||||
$conn->exec("IF OBJECT_ID('tmp_table1', 'U') IS NOT NULL DROP TABLE [tmp_table1]");
|
$conn->exec("IF OBJECT_ID('tmp_table1', 'U') IS NOT NULL DROP TABLE [tmp_table1]");
|
||||||
$conn->exec("IF OBJECT_ID('tmp_table2', 'U') IS NOT NULL DROP TABLE [tmp_table2]");
|
$conn->exec("IF OBJECT_ID('tmp_table2', 'U') IS NOT NULL DROP TABLE [tmp_table2]");
|
||||||
$conn->exec("IF OBJECT_ID('tmp_table3', 'U') IS NOT NULL DROP TABLE [tmp_table3]");
|
$conn->exec("IF OBJECT_ID('tmp_table3', 'U') IS NOT NULL DROP TABLE [tmp_table3]");
|
||||||
$conn->exec('CREATE TABLE tmp_table1(id INT IDENTITY(100,2), val INT)');
|
$conn->exec('CREATE TABLE tmp_table1(id INT IDENTITY(100,2), val INT)');
|
||||||
$conn->exec('CREATE TABLE tmp_table2(id INT IDENTITY(200,2), val INT)');
|
$conn->exec('CREATE TABLE tmp_table2(id INT IDENTITY(200,2), val INT)');
|
||||||
$conn->exec('CREATE TABLE tmp_table3(id INT, val INT)');
|
$conn->exec('CREATE TABLE tmp_table3(id INT, val INT)');
|
||||||
|
|
||||||
$conn->exec('INSERT INTO tmp_table1 VALUES(1)');
|
$conn->exec('INSERT INTO tmp_table1 VALUES(1)');
|
||||||
$conn->exec('INSERT INTO tmp_table2 VALUES(2)');
|
$conn->exec('INSERT INTO tmp_table2 VALUES(2)');
|
||||||
$id = $conn->lastInsertId();
|
$id = $conn->lastInsertId();
|
||||||
var_dump($id);
|
var_dump($id);
|
||||||
|
|
||||||
$conn->exec('INSERT INTO tmp_table2 VALUES(3)');
|
$conn->exec('INSERT INTO tmp_table2 VALUES(3)');
|
||||||
$conn->exec('INSERT INTO tmp_table1 VALUES(4)');
|
$conn->exec('INSERT INTO tmp_table1 VALUES(4)');
|
||||||
$id = $conn->lastInsertId();
|
$id = $conn->lastInsertId();
|
||||||
var_dump($id);
|
var_dump($id);
|
||||||
|
|
||||||
// Should return empty string as the table does not have an IDENTITY column.
|
// Should return empty string as the table does not have an IDENTITY column.
|
||||||
$conn->exec('INSERT INTO tmp_table3 VALUES(1,1)');
|
$conn->exec('INSERT INTO tmp_table3 VALUES(1,1)');
|
||||||
$id = $conn->lastInsertId();
|
$id = $conn->lastInsertId();
|
||||||
var_dump($id);
|
var_dump($id);
|
||||||
|
|
||||||
// clean up
|
// clean up
|
||||||
$conn->exec('DROP TABLE tmp_table1');
|
$conn->exec('DROP TABLE tmp_table1');
|
||||||
$conn->exec('DROP TABLE tmp_table2');
|
$conn->exec('DROP TABLE tmp_table2');
|
||||||
$conn->exec('DROP TABLE tmp_table3');
|
$conn->exec('DROP TABLE tmp_table3');
|
||||||
}
|
}
|
||||||
|
|
||||||
catch( PDOException $e ) {
|
catch( PDOException $e ) {
|
||||||
|
|
|
@ -11,20 +11,17 @@ try
|
||||||
{
|
{
|
||||||
$database = "tempdb";
|
$database = "tempdb";
|
||||||
$conn = new PDO( "sqlsrv:Server = $serverName; Database = $database", $username, $password);
|
$conn = new PDO( "sqlsrv:Server = $serverName; Database = $database", $username, $password);
|
||||||
//$conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
|
|
||||||
|
|
||||||
// PDO::CURSOR_FWDONLY should not be quoted
|
// PDO::CURSOR_FWDONLY should not be quoted
|
||||||
$stmt1 = $conn->prepare( "SELECT 1", array( PDO::ATTR_CURSOR => "PDO::CURSOR_FWDONLY" ));
|
$stmt1 = $conn->prepare( "SELECT 1", array( PDO::ATTR_CURSOR => "PDO::CURSOR_FWDONLY" ));
|
||||||
|
print_r(($conn->errorInfo())[2]);
|
||||||
|
echo "\n";
|
||||||
|
|
||||||
// 10 is an invalid value for PDO::ATTR_CURSOR
|
// 10 is an invalid value for PDO::ATTR_CURSOR
|
||||||
$stmt2 = $conn->prepare( "SELECT 2", array( PDO::ATTR_CURSOR => 10 ));
|
$stmt2 = $conn->prepare( "SELECT 2", array( PDO::ATTR_CURSOR => 10 ));
|
||||||
|
print_r(($conn->errorInfo())[2]);
|
||||||
|
echo "\n";
|
||||||
|
|
||||||
if ( $stmt1 || $stmt2 )
|
|
||||||
{
|
|
||||||
echo "Invalid values for PDO::ATTR_CURSOR should return false.\n";
|
|
||||||
} else {
|
|
||||||
echo "Invalid values for PDO::ATTR_CURSOR return false.\n";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
catch( PDOException $e ) {
|
catch( PDOException $e ) {
|
||||||
var_dump( $e->errorInfo );
|
var_dump( $e->errorInfo );
|
||||||
|
@ -33,4 +30,5 @@ catch( PDOException $e ) {
|
||||||
|
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
|
|
||||||
Invalid values for PDO::ATTR_CURSOR return false.
|
An invalid cursor type was specified for either PDO::ATTR_CURSOR or PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE
|
||||||
|
An invalid cursor type was specified for either PDO::ATTR_CURSOR or PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE
|
Loading…
Reference in a new issue