changed pdo_lastInsertId.phpt so lastInsertId does not take in table names; fixed indentation

This commit is contained in:
v-kaywon 2017-04-12 11:10:58 -07:00
parent 9d136d541e
commit d5238008d7
7 changed files with 129 additions and 136 deletions

View file

@ -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 );

View file

@ -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 );

View file

@ -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

View file

@ -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;

View file

@ -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 ) {

View file

@ -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 );

View file

@ -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) ""