2017-05-04 02:09:36 +02:00
|
|
|
--TEST--
|
|
|
|
sqlsrv_stmt_rows_affected.
|
|
|
|
--SKIPIF--
|
2017-11-29 23:40:47 +01:00
|
|
|
<?php require('skipif_versions_old.inc'); ?>
|
2017-05-04 02:09:36 +02:00
|
|
|
--FILE--
|
|
|
|
<?php
|
2017-10-04 23:22:56 +02:00
|
|
|
sqlsrv_configure('WarningsReturnAsErrors', 0);
|
|
|
|
sqlsrv_configure('LogSeverity', SQLSRV_LOG_SEVERITY_ALL);
|
|
|
|
sqlsrv_configure('LogSubsystems', SQLSRV_LOG_SYSTEM_OFF);
|
2017-05-04 02:09:36 +02:00
|
|
|
|
2017-10-04 23:22:56 +02:00
|
|
|
require_once('MsCommon.inc');
|
2017-05-04 02:09:36 +02:00
|
|
|
|
2017-11-29 23:40:47 +01:00
|
|
|
$conn = AE\connect();
|
|
|
|
$tableName = 'test_params';
|
|
|
|
$columns = array(new AE\ColumnMeta('tinyint', 'id'),
|
|
|
|
new AE\ColumnMeta('char(10)', 'name'),
|
|
|
|
new AE\ColumnMeta('float', 'double'),
|
|
|
|
new AE\ColumnMeta('varchar(4000)', 'stuff'));
|
|
|
|
$stmt = AE\createTable($conn, $tableName, $columns);
|
|
|
|
if (!$stmt) {
|
|
|
|
fatalError("Failed to create table $tableName\n");
|
2017-05-04 02:09:36 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
$f1 = 1;
|
|
|
|
$f2 = "testtestte";
|
|
|
|
$f3 = 12.0;
|
2017-10-04 23:22:56 +02:00
|
|
|
$f4 = fopen("data://text/plain,This%20is%20some%20text%20meant%20to%20test%20binding%20parameters%20to%20streams", "r");
|
2017-11-29 23:40:47 +01:00
|
|
|
$stmt = sqlsrv_prepare($conn, "INSERT INTO $tableName (id, name, [double], stuff) VALUES (?, ?, ?, ?)", array( &$f1, &$f2, &$f3, &$f4 ));
|
2017-10-04 23:22:56 +02:00
|
|
|
if (!$stmt) {
|
|
|
|
fatalError("sqlsrv_prepare(4) failed.");
|
2017-05-04 02:09:36 +02:00
|
|
|
}
|
2017-10-04 23:22:56 +02:00
|
|
|
|
|
|
|
for ($record = 1; $record <= 4; ++$record) {
|
|
|
|
$success = sqlsrv_execute($stmt);
|
|
|
|
if (!$success) {
|
|
|
|
fatalError("sqlsrv_execute($record) failed.");
|
2017-05-04 02:09:36 +02:00
|
|
|
}
|
2017-10-04 23:22:56 +02:00
|
|
|
while ($success = sqlsrv_send_stream_data($stmt)) {
|
2017-05-04 02:09:36 +02:00
|
|
|
}
|
2017-10-04 23:22:56 +02:00
|
|
|
if (!is_null($success)) {
|
|
|
|
sqlsrv_cancel($stmt);
|
|
|
|
sqlsrv_free_stmt($stmt);
|
|
|
|
die("sqlsrv_send_stream_data failed.");
|
2017-05-04 02:09:36 +02:00
|
|
|
}
|
2017-10-04 23:22:56 +02:00
|
|
|
$row_count = sqlsrv_rows_affected($stmt);
|
|
|
|
if ($row_count != 1) {
|
|
|
|
if ($row_count == -1) {
|
|
|
|
var_dump(sqlsrv_errors());
|
2017-05-04 02:09:36 +02:00
|
|
|
}
|
2017-10-04 23:22:56 +02:00
|
|
|
die("sqlsrv_rows_returned $row_count instead of 1");
|
2017-05-04 02:09:36 +02:00
|
|
|
}
|
|
|
|
echo "rows = $row_count<br/>\n";
|
|
|
|
}
|
2017-10-04 23:22:56 +02:00
|
|
|
sqlsrv_free_stmt($stmt);
|
2017-05-04 02:09:36 +02:00
|
|
|
|
2017-11-29 23:40:47 +01:00
|
|
|
if (AE\isColEncrypted()) {
|
|
|
|
$stmt = sqlsrv_prepare($conn, "UPDATE $tableName SET [double] = ? FROM $tableName WHERE [double] = ?", array(13.0, 12.0));
|
|
|
|
} else {
|
|
|
|
$stmt = sqlsrv_prepare($conn, "UPDATE $tableName SET [double] = 13.0 FROM $tableName WHERE [double] = 12.0");
|
|
|
|
}
|
2017-10-04 23:22:56 +02:00
|
|
|
if (!$stmt) {
|
|
|
|
fatalError("sqlsrv_prepare(2) failed.");
|
2017-05-04 02:09:36 +02:00
|
|
|
}
|
2017-10-04 23:22:56 +02:00
|
|
|
$success = sqlsrv_execute($stmt);
|
|
|
|
if (!$success) {
|
|
|
|
fatalError("sqlsrv_execute(5) failed.");
|
2017-05-04 02:09:36 +02:00
|
|
|
}
|
2017-10-04 23:22:56 +02:00
|
|
|
$row_count = sqlsrv_rows_affected($stmt);
|
|
|
|
if ($row_count != 4) {
|
|
|
|
if ($row_count == -1) {
|
|
|
|
var_dump(sqlsrv_errors());
|
2017-05-04 02:09:36 +02:00
|
|
|
}
|
2017-10-04 23:22:56 +02:00
|
|
|
die("sqlsrv_rows_returned $row_count instead of 1");
|
2017-05-04 02:09:36 +02:00
|
|
|
}
|
|
|
|
echo "rows = $row_count<br/>\n";
|
|
|
|
|
2017-11-29 23:40:47 +01:00
|
|
|
dropTable($conn, $tableName);
|
2017-05-04 02:09:36 +02:00
|
|
|
|
2017-10-04 23:22:56 +02:00
|
|
|
sqlsrv_free_stmt($stmt);
|
|
|
|
sqlsrv_close($conn);
|
2017-05-04 02:09:36 +02:00
|
|
|
|
|
|
|
?>
|
|
|
|
--EXPECTF--
|
|
|
|
rows = 1<br/>
|
|
|
|
rows = 1<br/>
|
|
|
|
rows = 1<br/>
|
|
|
|
rows = 1<br/>
|
|
|
|
rows = 4<br/>
|