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