changed pdo_lastInsertId.phpt so lastInsertId does not take in table names; fixed indentation
This commit is contained in:
parent
9d136d541e
commit
d5238008d7
|
@ -9,21 +9,20 @@ require_once("autonomous_setup.php");
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
$attr = array(
|
$attr = array( PDO::SQLSRV_ATTR_ENCODING => 3,
|
||||||
PDO::SQLSRV_ATTR_ENCODING => 3,
|
PDO::ATTR_CASE => 2,
|
||||||
PDO::ATTR_CASE => 2,
|
PDO::ATTR_PREFETCH => false,
|
||||||
PDO::ATTR_PREFETCH => false,
|
PDO::ATTR_TIMEOUT => 35,
|
||||||
PDO::ATTR_TIMEOUT => 35,
|
PDO::ATTR_STRINGIFY_FETCHES => true,
|
||||||
PDO::ATTR_STRINGIFY_FETCHES => true,
|
PDO::SQLSRV_ATTR_DIRECT_QUERY => true,
|
||||||
PDO::SQLSRV_ATTR_DIRECT_QUERY => true,
|
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
|
||||||
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
|
PDO::ATTR_ORACLE_NULLS => PDO::NULL_NATURAL,
|
||||||
PDO::ATTR_ORACLE_NULLS => PDO::NULL_NATURAL,
|
PDO::SQLSRV_ATTR_CLIENT_BUFFER_MAX_KB_SIZE => 10240,
|
||||||
PDO::SQLSRV_ATTR_CLIENT_BUFFER_MAX_KB_SIZE => 10240,
|
PDO::SQLSRV_ATTR_DIRECT_QUERY => true
|
||||||
PDO::SQLSRV_ATTR_DIRECT_QUERY => true
|
);
|
||||||
);
|
|
||||||
|
|
||||||
$database = "tempdb";
|
$database = "tempdb";
|
||||||
$dsn = "sqlsrv:Server = $serverName; Database = $database";
|
$dsn = "sqlsrv:Server = $serverName; Database = $database";
|
||||||
|
|
||||||
$conn = new PDO( $dsn, $username, $password, $attr);
|
$conn = new PDO( $dsn, $username, $password, $attr);
|
||||||
|
|
||||||
|
@ -37,7 +36,7 @@ try
|
||||||
$conn = NULL;
|
$conn = NULL;
|
||||||
|
|
||||||
|
|
||||||
echo "Test Successful";
|
echo "Test Successful";
|
||||||
}
|
}
|
||||||
catch( PDOException $e ) {
|
catch( PDOException $e ) {
|
||||||
var_dump( $e );
|
var_dump( $e );
|
||||||
|
|
|
@ -10,26 +10,26 @@ require_once("autonomous_setup.php");
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
$database = "tempdb";
|
$database = "tempdb";
|
||||||
$dsn = "sqlsrv:Server = $serverName;" .
|
$dsn = "sqlsrv:Server = $serverName;" .
|
||||||
"ConnectionPooling = false;" .
|
"ConnectionPooling = false;" .
|
||||||
"APP = whatever;" .
|
"APP = whatever;" .
|
||||||
"LoginTimeout = 1;" .
|
"LoginTimeout = 1;" .
|
||||||
"ApplicationIntent = ReadOnly;" .
|
"ApplicationIntent = ReadOnly;" .
|
||||||
"Database = $database;" .
|
"Database = $database;" .
|
||||||
"Encrypt = false;" .
|
"Encrypt = false;" .
|
||||||
"Failover_Partner = whatever;" .
|
"Failover_Partner = whatever;" .
|
||||||
"MultipleActiveResultSets = true;" .
|
"MultipleActiveResultSets = true;" .
|
||||||
"MultiSubnetFailover = NO;" .
|
"MultiSubnetFailover = NO;" .
|
||||||
"QuotedId = false;" .
|
"QuotedId = false;" .
|
||||||
"TraceFile = whatever;" .
|
"TraceFile = whatever;" .
|
||||||
"TraceOn = true;" .
|
"TraceOn = true;" .
|
||||||
"TrustServerCertificate = false;" .
|
"TrustServerCertificate = false;" .
|
||||||
"WSID = whatever;"
|
"WSID = whatever;"
|
||||||
;
|
;
|
||||||
$conn = new PDO( $dsn, $username, $password);
|
$conn = new PDO( $dsn, $username, $password);
|
||||||
|
|
||||||
|
|
||||||
echo "Test Successful";
|
echo "Test Successful";
|
||||||
}
|
}
|
||||||
catch( PDOException $e ) {
|
catch( PDOException $e ) {
|
||||||
var_dump( $e );
|
var_dump( $e );
|
||||||
|
|
|
@ -10,8 +10,8 @@ direct execution of an invalid query
|
||||||
|
|
||||||
$conn->exec("IF OBJECT_ID('table1', 'U') IS NOT NULL DROP TABLE table1");
|
$conn->exec("IF OBJECT_ID('table1', 'U') IS NOT NULL DROP TABLE table1");
|
||||||
|
|
||||||
// execute a query with typo
|
// execute a query with typo (spelling error in CREATE)
|
||||||
$conn->exec("CRETE TABLE tmp_table(id INT NOT NULL PRIMARY KEY, val VARCHAR(10)) ");
|
$conn->exec("CRETE TABLE table1(id INT NOT NULL PRIMARY KEY, val VARCHAR(10)) ");
|
||||||
print_r( $conn->errorCode() );
|
print_r( $conn->errorCode() );
|
||||||
echo "\n";
|
echo "\n";
|
||||||
|
|
||||||
|
@ -20,6 +20,9 @@ direct execution of an invalid query
|
||||||
print_r( $conn->errorCode() );
|
print_r( $conn->errorCode() );
|
||||||
echo "\n";
|
echo "\n";
|
||||||
|
|
||||||
|
// drop table1 and free connections
|
||||||
|
$conn->exec("DROP TABLE table1");
|
||||||
|
$conn = NULL;
|
||||||
?>
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
42000
|
42000
|
||||||
|
|
|
@ -8,22 +8,22 @@ Test getting invalid attributes
|
||||||
require_once("autonomous_setup.php");
|
require_once("autonomous_setup.php");
|
||||||
|
|
||||||
try{
|
try{
|
||||||
$database = "tempdb";
|
$database = "tempdb";
|
||||||
$dsn = "sqlsrv:Server = $serverName; Database = $database";
|
$dsn = "sqlsrv:Server = $serverName; Database = $database";
|
||||||
|
|
||||||
$conn = new PDO( $dsn, $username, $password, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_SILENT));
|
$conn = new PDO( $dsn, $username, $password, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_SILENT));
|
||||||
|
|
||||||
@$conn->getAttribute( PDO::ATTR_FETCH_TABLE_NAMES );
|
@$conn->getAttribute( PDO::ATTR_FETCH_TABLE_NAMES );
|
||||||
print_r (($conn->errorInfo())[2]);
|
print_r (($conn->errorInfo())[2]);
|
||||||
echo "\n";
|
echo "\n";
|
||||||
|
|
||||||
@$conn->getAttribute( PDO::ATTR_CURSOR );
|
@$conn->getAttribute( PDO::ATTR_CURSOR );
|
||||||
print_r (($conn->errorInfo())[2]);
|
print_r (($conn->errorInfo())[2]);
|
||||||
echo "\n";
|
echo "\n";
|
||||||
|
|
||||||
@$conn->getAttribute( PDO::ATTR_CONNECTION_STATUS );
|
@$conn->getAttribute( PDO::ATTR_CONNECTION_STATUS );
|
||||||
print_r (($conn->errorInfo())[2]);
|
print_r (($conn->errorInfo())[2]);
|
||||||
echo "\n";
|
echo "\n";
|
||||||
}
|
}
|
||||||
catch ( PDOException $e ){
|
catch ( PDOException $e ){
|
||||||
exit;
|
exit;
|
||||||
|
|
|
@ -5,102 +5,100 @@ Test PDO::setAttribute() and PDO::getAttribute() methods.
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
require_once("autonomous_setup.php");
|
require_once("autonomous_setup.php");
|
||||||
// A custom PDO statement class to test PDO::ATTR_STATEMENT_CLASS
|
// A custom PDO statement class to test PDO::ATTR_STATEMENT_CLASS
|
||||||
class CustomPDOStatement extends PDOStatement
|
class CustomPDOStatement extends PDOStatement
|
||||||
{
|
{
|
||||||
protected function __construct() {
|
protected function __construct() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_attr( $conn, $attr )
|
function get_attr( $conn, $attr )
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
|
|
||||||
echo "Get Result $attr :\n";
|
echo "Get Result $attr :\n";
|
||||||
$result = $conn->getAttribute( constant($attr) );
|
$result = $conn->getAttribute( constant($attr) );
|
||||||
var_dump( $result);
|
var_dump( $result);
|
||||||
}
|
}
|
||||||
catch ( PDOException $e)
|
catch ( PDOException $e)
|
||||||
{
|
{
|
||||||
echo $e->getMessage() . "\n";
|
echo $e->getMessage() . "\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function set_attr( $conn, $attr, $val )
|
function set_attr( $conn, $attr, $val )
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
|
|
||||||
echo "Set Result $attr :\n";
|
echo "Set Result $attr :\n";
|
||||||
$result = $conn->setAttribute( constant($attr), $val );
|
$result = $conn->setAttribute( constant($attr), $val );
|
||||||
var_dump( $result);
|
var_dump( $result);
|
||||||
}
|
}
|
||||||
catch ( PDOException $e)
|
catch ( PDOException $e)
|
||||||
{
|
{
|
||||||
echo $e->getMessage() . "\n";
|
echo $e->getMessage() . "\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function set_get_attr($testName, $conn, $attr, $val)
|
function set_get_attr($testName, $conn, $attr, $val)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
|
|
||||||
echo "\n". $testName . ":\n";
|
echo "\n". $testName . ":\n";
|
||||||
set_attr($conn, $attr, $val );
|
set_attr($conn, $attr, $val );
|
||||||
get_attr($conn, $attr );
|
get_attr($conn, $attr );
|
||||||
}
|
}
|
||||||
catch(PDOException $e)
|
catch(PDOException $e)
|
||||||
{
|
{
|
||||||
var_dump($e);
|
var_dump($e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
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);
|
||||||
$values = array (
|
$values = array ( "PDO::ATTR_ERRMODE" => 2,
|
||||||
"PDO::ATTR_ERRMODE" => 2,
|
"PDO::ATTR_SERVER_VERSION" => "whatever",
|
||||||
"PDO::ATTR_SERVER_VERSION" => "whatever",
|
"PDO::ATTR_DRIVER_NAME" => "whatever",
|
||||||
"PDO::ATTR_DRIVER_NAME" => "whatever",
|
"PDO::ATTR_STRINGIFY_FETCHES" => true,
|
||||||
"PDO::ATTR_STRINGIFY_FETCHES" => true,
|
"PDO::ATTR_CLIENT_VERSION" => "whatever",
|
||||||
"PDO::ATTR_CLIENT_VERSION" => "whatever",
|
"PDO::ATTR_SERVER_INFO" => "whatever",
|
||||||
"PDO::ATTR_SERVER_INFO" => "whatever",
|
"PDO::ATTR_CASE" => PDO::CASE_LOWER,
|
||||||
"PDO::ATTR_CASE" => 2,
|
"PDO::SQLSRV_ATTR_ENCODING" => PDO::SQLSRV_ENCODING_SYSTEM,
|
||||||
"PDO::SQLSRV_ATTR_ENCODING" => 3,
|
"PDO::ATTR_DEFAULT_FETCH_MODE" => PDO::FETCH_ASSOC,
|
||||||
"PDO::ATTR_DEFAULT_FETCH_MODE" => PDO::FETCH_ASSOC,
|
"PDO::ATTR_ORACLE_NULLS" => PDO::NULL_NATURAL,
|
||||||
"PDO::ATTR_ORACLE_NULLS" => PDO::NULL_NATURAL,
|
"PDO::SQLSRV_ATTR_CLIENT_BUFFER_MAX_KB_SIZE" => 5120,
|
||||||
"PDO::SQLSRV_ATTR_CLIENT_BUFFER_MAX_KB_SIZE" => 5120,
|
"PDO::SQLSRV_ATTR_DIRECT_QUERY" => true,
|
||||||
"PDO::SQLSRV_ATTR_DIRECT_QUERY" => true,
|
"PDO::ATTR_STATEMENT_CLASS" => array('CustomPDOStatement', array()),
|
||||||
"PDO::ATTR_STATEMENT_CLASS" => array('CustomPDOStatement', array()),
|
"PDO::SQLSRV_ATTR_QUERY_TIMEOUT" => 10,
|
||||||
"PDO::SQLSRV_ATTR_QUERY_TIMEOUT" => 10,
|
"PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE" => false
|
||||||
"PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE" => false
|
);
|
||||||
);
|
|
||||||
|
|
||||||
$attributes = array (
|
$attributes = array ( "PDO::ATTR_ERRMODE",
|
||||||
"PDO::ATTR_ERRMODE",
|
"PDO::ATTR_SERVER_VERSION",
|
||||||
"PDO::ATTR_SERVER_VERSION",
|
"PDO::ATTR_DRIVER_NAME",
|
||||||
"PDO::ATTR_DRIVER_NAME",
|
"PDO::ATTR_STRINGIFY_FETCHES",
|
||||||
"PDO::ATTR_STRINGIFY_FETCHES",
|
"PDO::ATTR_CLIENT_VERSION",
|
||||||
"PDO::ATTR_CLIENT_VERSION",
|
"PDO::ATTR_SERVER_INFO",
|
||||||
"PDO::ATTR_SERVER_INFO",
|
"PDO::ATTR_CASE",
|
||||||
"PDO::ATTR_CASE",
|
"PDO::SQLSRV_ATTR_ENCODING",
|
||||||
"PDO::SQLSRV_ATTR_ENCODING",
|
"PDO::ATTR_DEFAULT_FETCH_MODE",
|
||||||
"PDO::ATTR_DEFAULT_FETCH_MODE",
|
"PDO::ATTR_ORACLE_NULLS",
|
||||||
"PDO::ATTR_ORACLE_NULLS",
|
"PDO::SQLSRV_ATTR_CLIENT_BUFFER_MAX_KB_SIZE",
|
||||||
"PDO::SQLSRV_ATTR_CLIENT_BUFFER_MAX_KB_SIZE",
|
"PDO::SQLSRV_ATTR_DIRECT_QUERY",
|
||||||
"PDO::SQLSRV_ATTR_DIRECT_QUERY",
|
"PDO::ATTR_STATEMENT_CLASS",
|
||||||
"PDO::ATTR_STATEMENT_CLASS",
|
"PDO::SQLSRV_ATTR_QUERY_TIMEOUT",
|
||||||
"PDO::SQLSRV_ATTR_QUERY_TIMEOUT",
|
"PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE"
|
||||||
"PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE"
|
);
|
||||||
);
|
$i = 1;
|
||||||
$i = 1;
|
foreach( $attributes as $attr )
|
||||||
foreach( $attributes as $attr )
|
{
|
||||||
{
|
|
||||||
$testName = "Test_". $i;
|
$testName = "Test_". $i;
|
||||||
$i = $i + 1;
|
$i = $i + 1;
|
||||||
set_get_attr($testName, $conn, $attr, $values[$attr]);
|
set_get_attr($testName, $conn, $attr, $values[$attr]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
catch( PDOException $e ) {
|
catch( PDOException $e ) {
|
||||||
|
|
|
@ -10,14 +10,13 @@ require_once("autonomous_setup.php");
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
$database = "tempdb";
|
$database = "tempdb";
|
||||||
$dsn = "sqlsrv:Server = $serverName;" .
|
$dsn = "sqlsrv:Server = $serverName;" .
|
||||||
"Database = $database;" .
|
"Database = $database;" .
|
||||||
"InvalidKey = true;"
|
"InvalidKey = true;"
|
||||||
;
|
;
|
||||||
$conn = new PDO( $dsn, $username, $password);
|
$conn = new PDO( $dsn, $username, $password);
|
||||||
|
|
||||||
|
echo "Test Successful";
|
||||||
echo "Test Successful";
|
|
||||||
}
|
}
|
||||||
catch( PDOException $e ) {
|
catch( PDOException $e ) {
|
||||||
var_dump( $e->errorInfo );
|
var_dump( $e->errorInfo );
|
||||||
|
|
|
@ -22,15 +22,11 @@ try
|
||||||
$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);
|
||||||
$id = $conn->lastInsertId('tmp_table1');
|
|
||||||
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);
|
||||||
$id = $conn->lastInsertId('tmp_table2');
|
|
||||||
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)');
|
||||||
|
@ -52,7 +48,5 @@ catch( PDOException $e ) {
|
||||||
?>
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
string(3) "200"
|
string(3) "200"
|
||||||
string(3) "100"
|
|
||||||
string(3) "102"
|
string(3) "102"
|
||||||
string(3) "202"
|
|
||||||
string(0) ""
|
string(0) ""
|
||||||
|
|
Loading…
Reference in a new issue