* Fixed the potential error reported by Prefast code analysis * Use SQLSRV_ASSERT for checking NULL ptrs * For these AKV tests check env despite not AE connected * Added the driver option to run functional tests * Fixed connection pooling tests for more than one ODBC drivers * added driver option to pdo isPooled.php * Removed win32 ifdefs re connection resiliency (#802) * Set the driver argument for getDSN to null by default (#798) * Added the driver argument to getDSN * Dropped the driver argument but set to null as default * Removed the AE condition in locale support * Modified the AE condition for locale support * Changed int to SQLLEN to avoid infinite loop (#806) * Version 5.3.0 (#803) * Version 5.3.0 * Fixed the wrong replacements * Added comments block to m4 files * Use dnl for comments * Modified AE fetch phptypes test to insert only one row at a time and loop through php types (#801) * Modified AE fetch phptypes test to insert only one row at a time and loop through php types * Fixed formatting * Streamlined two very similar large column name tests (#807) * Streamlined two very similar large column name tests * Changed the EOL * Updates to change log and readme (#811) * Updates to change log and readme * Dropped support for Ubuntu 17 * Modified as per review comments * Fixed connection resiliency tests for Unix, updated AppVeyor for ODBC 17.2 * Fixed expected output * Fixed output and skipifs * Fixed skipifs and output * Fixed driver name * Updated installation instructions and sample script (#813) * Updated instructions and sample test for 5.3.0 RTW * Fixed sample code to adhere to php coding standard * Fixed cases and spaces * Modified NOTE for UB 18.04 based on review comments * Added 'exit' * Modified change log and readme based on review to PR 811 * Applied review comments * build output to debug appveyor failure * removed debug output * Streamlined two very similar large column name tests (#815) * Streamlined two very similar large column name tests * Added random number of test table names to avoid operand clash issues * Replaced to with for based on review * Changelog updated * changelog updated, test skipif changed to run on unix platforms * Fixed skipif typo * Fixed typo in skipif for pdo * Fixed some output for Travis * Moved error checking inside pdo connres tests * Added links back to changelog * Fixed output for sqlsrv connres tests * Fixed output * Fixed output again
60 lines
1.4 KiB
PHP
60 lines
1.4 KiB
PHP
--TEST--
|
|
Bind parameters using an array
|
|
--SKIPIF--
|
|
<?php require('skipif_mid-refactor.inc'); ?>
|
|
--FILE--
|
|
<?php
|
|
require_once("MsCommon_mid-refactor.inc");
|
|
|
|
try {
|
|
// Connect
|
|
$conn = connect();
|
|
|
|
// Create table
|
|
$tableName = 'bindParams';
|
|
dropTable($conn, $tableName);
|
|
|
|
$sql = "CREATE TABLE $tableName (ID TINYINT, SID CHAR(5))";
|
|
$stmt = $conn->exec($sql);
|
|
|
|
createTable($conn, $tableName, array("ID" => "tinyint", "SID" => "char(5)"));
|
|
|
|
// Insert data using bind parameters
|
|
$sql = "INSERT INTO $tableName VALUES (?,?)";
|
|
for ($t=100; $t<103; $t++) {
|
|
$stmt = $conn->prepare($sql);
|
|
$ts = substr(sha1($t),0,5);
|
|
$params = array($t,$ts);
|
|
$stmt->execute($params);
|
|
}
|
|
|
|
// Query, but do not fetch
|
|
$sql = "SELECT * from $tableName";
|
|
$stmt = $conn->query($sql);
|
|
|
|
// Insert duplicate row, ID = 100
|
|
$t = 100;
|
|
insertRow($conn, $tableName, array( "ID" => $t, "SID" => substr( sha1( $t ), 0, 5 )), "prepareExecuteBind");
|
|
|
|
// Fetch. The result set should not contain duplicates
|
|
$data = $stmt->fetchAll();
|
|
foreach ($data as $a)
|
|
echo $a['ID'] . "|" . $a['SID'] . "\n";
|
|
|
|
// Close connection
|
|
dropTable($conn, $tableName);
|
|
unset($stmt);
|
|
unset($conn);
|
|
|
|
print "Done";
|
|
} catch (PDOException $e) {
|
|
var_dump($e->errorInfo);
|
|
}
|
|
?>
|
|
|
|
--EXPECT--
|
|
100|310b8
|
|
101|dbc0f
|
|
102|c8306
|
|
Done
|