(No version information available, might only be in Git)
sqlsrv_query — Подготавливает и выполняет запрос
Подготавливает и выполняет запрос.
conn
Ресурс подключения, возвращаемый sqlsrv_connect().
sql
Строка, определяющая запрос, который нужно подготовить и выполнить.
params
Массив, определяющий информацию о параметрах при выполнении параметризованного запроса. Элементы массива могут быть любыми из следующих:
Элемент | Описание |
---|---|
$value | Строковое значение, переменная PHP или переменная PHP, переданная по ссылке. |
$direction (optional) | Одна из следующих констант SQLSRV, используемых для указания направления параметра: SQLSRV_PARAM_IN, SQLSRV_PARAM_OUT, SQLSRV_PARAM_INOUT. Значение по умолчанию - SQLSRV_PARAM_IN. |
$phpType (optional) | Константа SQLSRV_PHPTYPE_*, указывающая тип данных PHP возвращаемого значения. |
$sqlType (optional) | Константа SQLSRV_SQLTYPE_*, указывающая тип данных SQL Server входного значения. |
options
Массив, определяющий параметры свойств запроса. Поддерживаемые ключи описаны в следующей таблице:
Ключ | Значения | Описание |
---|---|---|
QueryTimeout | Положительное целочисленное значение. | Устанавливает время ожидания запроса в секундах. По умолчанию драйвер будет ждать результатов бесконечно. |
SendStreamParamsAtExec | true или false (по умолчанию true ) |
Настраивает драйвер для отправки всех данных потока при выполнении (true )
или для отправки данных потока частями (false ). По умолчанию установлено значение true .
Для получения дополнительной информации смотрите sqlsrv_send_stream_data(). |
Scrollable | SQLSRV_CURSOR_FORWARD, SQLSRV_CURSOR_STATIC, SQLSRV_CURSOR_DYNAMIC, или SQLSRV_CURSOR_KEYSET | Смотрите » Указание типа курсора и выбор строк в документации Microsoft SQLSRV. |
Возвращает ресурс выражения в случае успешного выполнения или false
в случае возникновения ошибки.
Пример #1 Пример использования sqlsrv_query()
<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password" );
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}
$sql = "INSERT INTO Table_1 (id, data) VALUES (?, ?)";
$params = array(1, "some data");
$stmt = sqlsrv_query( $conn, $sql, $params);
if( $stmt === false ) {
die( print_r( sqlsrv_errors(), true));
}
?>
Для операторов, которые вы планируете выполнить только один раз, используйте sqlsrv_query(). Если вы намереваетесь повторно выполнить выражение с другими значениями параметров, используйте комбинацию sqlsrv_prepare() и sqlsrv_execute().