new tests from autonomous
This commit is contained in:
parent
35523c52db
commit
a789e0864b
46
test/sqlsrv/sqlsrv_buffered_result_set_extended_ascii.phpt
Normal file
46
test/sqlsrv/sqlsrv_buffered_result_set_extended_ascii.phpt
Normal file
|
@ -0,0 +1,46 @@
|
|||
--TEST--
|
||||
Fetch array using a scrollable buffered cursor with connection CharacterSet utf-8
|
||||
--SKIPIF--
|
||||
<?php require('skipif.inc'); ?>
|
||||
--FILE--
|
||||
<?php
|
||||
require_once("MsCommon.inc");
|
||||
|
||||
// Connect
|
||||
$conn = ConnectUTF8();
|
||||
if( !$conn ) { die( print_r( sqlsrv_errors(), true)); }
|
||||
|
||||
// Create table
|
||||
$tableName = '#exAsciiTest';
|
||||
$query = "CREATE TABLE $tableName (ID CHAR(10))";
|
||||
$stmt = sqlsrv_query($conn, $query);
|
||||
|
||||
// Insert data
|
||||
$query = "INSERT INTO $tableName VALUES ('Aå_Ð×Æ×Ø_B')"; // Ð×Æ×Ø
|
||||
$stmt = sqlsrv_query($conn, $query) ?: die(print_r( sqlsrv_errors(), true));
|
||||
|
||||
// Fetch data
|
||||
$query = "SELECT * FROM $tableName";
|
||||
// $stmt = sqlsrv_query($conn, $query)
|
||||
$stmt = sqlsrv_query($conn, $query, [], array("Scrollable"=>"buffered"));
|
||||
if( $stmt === false)
|
||||
die( print_r(sqlsrv_errors(), true));
|
||||
|
||||
// Fetch
|
||||
$row = sqlsrv_fetch_array($stmt);
|
||||
var_dump($row);
|
||||
|
||||
// Close connection
|
||||
sqlsrv_free_stmt($stmt);
|
||||
sqlsrv_close($conn);
|
||||
print "Done"
|
||||
?>
|
||||
|
||||
--EXPECT--
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(16) "Aå_Ð×Æ×Ø_B"
|
||||
["ID"]=>
|
||||
string(16) "Aå_Ð×Æ×Ø_B"
|
||||
}
|
||||
Done
|
23
test/sqlsrv/srv_007_login_timeout.phpt
Normal file
23
test/sqlsrv/srv_007_login_timeout.phpt
Normal file
|
@ -0,0 +1,23 @@
|
|||
--TEST--
|
||||
False connection with LoginTimeout option
|
||||
--SKIPIF--
|
||||
<?php require('skipif.inc'); ?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
$serverName = "WRONG_SERVER_NAME";
|
||||
|
||||
$t0 = round(microtime(true));
|
||||
|
||||
$conn = sqlsrv_connect( $serverName , array("LoginTimeout" => 8));
|
||||
|
||||
$t1 = round(microtime(true));
|
||||
|
||||
echo "Connection attempt time: " . ($t1 - $t0) . " [sec]\n";
|
||||
|
||||
print "Done";
|
||||
?>
|
||||
|
||||
--EXPECTREGEX--
|
||||
Connection attempt time: [7-9] \[sec\]
|
||||
Done
|
35
test/sqlsrv/srv_009_connect_app_unicode.phpt
Normal file
35
test/sqlsrv/srv_009_connect_app_unicode.phpt
Normal file
|
@ -0,0 +1,35 @@
|
|||
--TEST--
|
||||
Connection option APP unicode
|
||||
--SKIPIF--
|
||||
<?php require('skipif.inc'); ?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
require_once("MsCommon.inc");
|
||||
|
||||
// Connect
|
||||
$appName = "APP_PoP_";
|
||||
$appName = $appName . str_repeat("银河系",1);
|
||||
|
||||
$conn = Connect(array("APP"=>$appName, "CharacterSet"=>"utf-8"));
|
||||
if( !$conn ) { die( print_r( sqlsrv_errors(), true)); }
|
||||
|
||||
// Query and print out
|
||||
$sql = "select APP_NAME()";
|
||||
$stmt = sqlsrv_query($conn, $sql);
|
||||
if( !$stmt ) { die( print_r( sqlsrv_errors(), true)); }
|
||||
|
||||
// Fetch the data
|
||||
while( sqlsrv_fetch($stmt) ) {
|
||||
echo sqlsrv_get_field($stmt, 0)."\n";
|
||||
}
|
||||
|
||||
// Close connection
|
||||
sqlsrv_free_stmt($stmt);
|
||||
sqlsrv_close($conn);
|
||||
print "Done";
|
||||
?>
|
||||
|
||||
--EXPECT--
|
||||
APP_PoP_银河系
|
||||
Done
|
47
test/sqlsrv/srv_019_char.phpt
Normal file
47
test/sqlsrv/srv_019_char.phpt
Normal file
|
@ -0,0 +1,47 @@
|
|||
--TEST--
|
||||
Character data type with non-ASCII characters
|
||||
--DESCRIPTION--
|
||||
For read/write non-ASCII characters on Windows and Linux the buffer
|
||||
size may be different, 1 byte on Windows if 1252 code page
|
||||
and 2 bytes on Linux if UTF-8 is used.
|
||||
Example: the string Ð×Æ×Ø is 10 bytes on Linux, 5 bytes on Windows.
|
||||
--SKIPIF--
|
||||
<?php require('skipif.inc'); ?>
|
||||
--FILE--
|
||||
<?php
|
||||
require_once("MsCommon.inc");
|
||||
|
||||
// Connect
|
||||
$conn = ConnectUTF8();
|
||||
if( !$conn ) { die( print_r( sqlsrv_errors(), true)); }
|
||||
|
||||
// Create table
|
||||
$tableName = '#srv_019test';
|
||||
$stmt = sqlsrv_query($conn, "CREATE TABLE $tableName (c1 CHAR(5))");
|
||||
if( $stmt === false ) { die( print_r( sqlsrv_errors(), true )); }
|
||||
sqlsrv_free_stmt( $stmt);
|
||||
|
||||
// Insert data
|
||||
$sql = "INSERT INTO $tableName VALUES ('I+PHP'),('Ð×Æ×Ø')";
|
||||
$stmt = sqlsrv_query($conn, $sql);
|
||||
sqlsrv_free_stmt( $stmt);
|
||||
|
||||
// Query and print out
|
||||
$sql = "SELECT c1 FROM $tableName";
|
||||
$stmt = sqlsrv_query( $conn, $sql );
|
||||
if( !$stmt ) { die( print_r( sqlsrv_errors(), true)); }
|
||||
|
||||
// Fetch the data
|
||||
while( sqlsrv_fetch($stmt) ) {
|
||||
echo sqlsrv_get_field($stmt, 0)."\n";
|
||||
}
|
||||
|
||||
sqlsrv_free_stmt($stmt);
|
||||
sqlsrv_close($conn);
|
||||
print "Done";
|
||||
?>
|
||||
|
||||
--EXPECT--
|
||||
I+PHP
|
||||
Ð×Æ×Ø
|
||||
Done
|
46
test/sqlsrv/srv_020_unicode_strings.phpt
Normal file
46
test/sqlsrv/srv_020_unicode_strings.phpt
Normal file
|
@ -0,0 +1,46 @@
|
|||
--TEST--
|
||||
Query non-ascii strings: sqlsrv_fetch_array
|
||||
--SKIPIF--
|
||||
<?php require('skipif.inc'); ?>
|
||||
--FILE--
|
||||
<?php
|
||||
require_once("MsCommon.inc");
|
||||
|
||||
// Connect
|
||||
$conn = Connect();
|
||||
if( !$conn ) { die( print_r( sqlsrv_errors(), true)); }
|
||||
|
||||
// Create table
|
||||
$tableName = '#srv_020test';
|
||||
$stmt = sqlsrv_query($conn, "CREATE TABLE $tableName (FirstName VARCHAR(10), LastName NVARCHAR(20), Age INT)");
|
||||
if( $stmt === false ) { die( print_r( sqlsrv_errors(), true )); }
|
||||
sqlsrv_free_stmt( $stmt);
|
||||
|
||||
// Insert data
|
||||
$sql = "INSERT INTO $tableName VALUES ('John', 'Doe', 30)";
|
||||
$stmt = sqlsrv_query( $conn, $sql);
|
||||
sqlsrv_free_stmt( $stmt);
|
||||
|
||||
$sql = "INSERT INTO $tableName VALUES ('Nhoj', N'Eoduard', -3), ('Joe', N' I❤PHP', 2016)";
|
||||
$stmt = sqlsrv_query($conn, $sql);
|
||||
sqlsrv_free_stmt( $stmt);
|
||||
|
||||
// Query and print out
|
||||
$sql = "SELECT FirstName, LastName, Age FROM $tableName";
|
||||
$stmt = sqlsrv_query( $conn, $sql );
|
||||
if( $stmt === false) { die( print_r( sqlsrv_errors(), true) ); }
|
||||
|
||||
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC) ) {
|
||||
printf("%s %s %d\n",$row[0], $row[1], $row[2]);
|
||||
}
|
||||
|
||||
sqlsrv_free_stmt($stmt);
|
||||
sqlsrv_close($conn);
|
||||
print "Done";
|
||||
?>
|
||||
|
||||
--EXPECT--
|
||||
John Doe 30
|
||||
Nhoj Eoduard -3
|
||||
Joe I❤PHP 2016
|
||||
Done
|
47
test/sqlsrv/srv_021_extended_ascii_strings_fetch_array.phpt
Normal file
47
test/sqlsrv/srv_021_extended_ascii_strings_fetch_array.phpt
Normal file
|
@ -0,0 +1,47 @@
|
|||
--TEST--
|
||||
Extended ASCII column names: sqlsrv_fetch_array()
|
||||
--SKIPIF--
|
||||
<?php require('skipif.inc'); ?>
|
||||
--FILE--
|
||||
<?php
|
||||
require_once("MsCommon.inc");
|
||||
|
||||
// Connect
|
||||
$conn = ConnectUTF8();
|
||||
if( !$conn ) { die( print_r( sqlsrv_errors(), true)); }
|
||||
|
||||
// Create table
|
||||
$tableName = '#srv_021test';
|
||||
$stmt = sqlsrv_query($conn, "CREATE TABLE $tableName (Cité NVARCHAR(10), Année SMALLINT)");
|
||||
if( $stmt === false ) { die( print_r( sqlsrv_errors(), true )); }
|
||||
sqlsrv_free_stmt( $stmt);
|
||||
|
||||
// Insert data
|
||||
$sql1 = "INSERT INTO $tableName VALUES ('Paris', 1911)";
|
||||
$stmt1 = sqlsrv_query( $conn, $sql1);
|
||||
sqlsrv_free_stmt( $stmt1);
|
||||
|
||||
// Insert more data
|
||||
$sql2 = "INSERT INTO $tableName VALUES ('London', 2012), ('Berlin', 1990)";
|
||||
$stmt2 = sqlsrv_query($conn, $sql2);
|
||||
sqlsrv_free_stmt( $stmt2);
|
||||
|
||||
// Query
|
||||
$sql = "SELECT * FROM $tableName";
|
||||
$stmt = sqlsrv_query( $conn, $sql );
|
||||
if( $stmt === false) { die( print_r( sqlsrv_errors(), true) ); }
|
||||
|
||||
// Fetch array
|
||||
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC) ) {
|
||||
printf("%s %d\n",$row[0], $row[1]);
|
||||
}
|
||||
|
||||
// Close connection
|
||||
sqlsrv_free_stmt($stmt);
|
||||
sqlsrv_close($conn);
|
||||
?>
|
||||
|
||||
--EXPECT--
|
||||
Paris 1911
|
||||
London 2012
|
||||
Berlin 1990
|
44
test/sqlsrv/srv_022_extended_ascii_strings_num_fields.phpt
Normal file
44
test/sqlsrv/srv_022_extended_ascii_strings_num_fields.phpt
Normal file
|
@ -0,0 +1,44 @@
|
|||
--TEST--
|
||||
Query with extended ASCII column names, sqlsrv_num_fields()
|
||||
--SKIPIF--
|
||||
<?php require('skipif.inc'); ?>
|
||||
--FILE--
|
||||
<?php
|
||||
require_once("MsCommon.inc");
|
||||
|
||||
// Connect
|
||||
$conn = ConnectUTF8();
|
||||
if( !$conn ) { die( print_r( sqlsrv_errors(), true)); }
|
||||
|
||||
// Create table
|
||||
$tableName = '#srv_022test';
|
||||
$stmt = sqlsrv_query($conn, "CREATE TABLE $tableName (Cité NVARCHAR(10), Année SMALLINT)");
|
||||
if( $stmt === false ) { die( print_r( sqlsrv_errors(), true )); }
|
||||
sqlsrv_free_stmt( $stmt);
|
||||
|
||||
// Insert data
|
||||
$sql1 = "INSERT INTO $tableName VALUES ('Paris', 1911)";
|
||||
$stmt1 = sqlsrv_query( $conn, $sql1);
|
||||
sqlsrv_free_stmt( $stmt1);
|
||||
|
||||
// Insert more data
|
||||
$sql2 = "INSERT INTO $tableName VALUES ('London', 2012), ('Berlin', 1990)";
|
||||
$stmt2 = sqlsrv_query($conn, $sql2);
|
||||
sqlsrv_free_stmt( $stmt2);
|
||||
|
||||
// Query
|
||||
$sql = "SELECT * FROM $tableName";
|
||||
$stmt = sqlsrv_query( $conn, $sql );
|
||||
if( $stmt === false) { die( print_r( sqlsrv_errors(), true) ); }
|
||||
|
||||
// Get number of fields
|
||||
echo sqlsrv_num_fields($stmt)."\n";
|
||||
|
||||
sqlsrv_free_stmt($stmt);
|
||||
sqlsrv_close($conn);
|
||||
print "Done"
|
||||
?>
|
||||
|
||||
--EXPECT--
|
||||
2
|
||||
Done
|
47
test/sqlsrv/srv_033_binary_unicode.phpt
Normal file
47
test/sqlsrv/srv_033_binary_unicode.phpt
Normal file
|
@ -0,0 +1,47 @@
|
|||
--TEST--
|
||||
Insert binary HEX data into nvarchar field then read it back using sqlsrv_get_field()
|
||||
--SKIPIF--
|
||||
<?php require('skipif.inc'); ?>
|
||||
--FILE--
|
||||
<?php
|
||||
require_once("MsCommon.inc");
|
||||
|
||||
// Connect
|
||||
$conn = Connect();
|
||||
if( !$conn ) { die( print_r( sqlsrv_errors(), true)); }
|
||||
|
||||
// Create table
|
||||
$tableName = '#srv_033test';
|
||||
$stmt = sqlsrv_query($conn, "CREATE TABLE $tableName (c1 NVARCHAR(100))");
|
||||
|
||||
$input = pack( "H*", '49006427500048005000' ); // I'LOVE_SYMBOL'PHP
|
||||
|
||||
|
||||
$s = sqlsrv_query( $conn, "INSERT INTO $tableName (c1) VALUES (?)",
|
||||
array(array( $input, SQLSRV_PARAM_IN, SQLSRV_PHPTYPE_STRING(SQLSRV_ENC_BINARY))
|
||||
));
|
||||
if( $s === false ) {
|
||||
die( print_r( sqlsrv_errors(), true ));
|
||||
}
|
||||
|
||||
$s = sqlsrv_query( $conn, "SELECT * FROM $tableName" );
|
||||
if( $s === false ) {
|
||||
die( print_r( sqlsrv_errors(), true ));
|
||||
}
|
||||
|
||||
sqlsrv_fetch( $s );
|
||||
|
||||
$utf8 = sqlsrv_get_field( $s, 0, SQLSRV_PHPTYPE_STRING('utf-8') );
|
||||
|
||||
echo "\n". $utf8 ."\n";
|
||||
|
||||
print_r( sqlsrv_errors() );
|
||||
sqlsrv_close( $conn );
|
||||
|
||||
print "Done";
|
||||
|
||||
?>
|
||||
|
||||
--EXPECT--
|
||||
I❤PHP
|
||||
Done
|
Loading…
Reference in a new issue