sqlsrv_query
(没有可用的版本信息,可能只在Git中)
sqlsrv_query - 准备并执行查询。
描述
mixed sqlsrv_query ( resource $conn , string $sql [, array $params [, array $options ]] )
准备并执行查询。
参数
conn
由sqlsrv_connect()返回的连接资源。
sql
定义要准备和执行的查询的字符串。
params
执行参数化查询时指定参数信息的数组。数组元素可以是以下任何一种:
- 字面值
- 一个PHP变量
- 具有这种结构的数组:array($ value [,$ direction [,$ phpType,$ sqlType]])
下表描述了上述数组结构中的元素:
元件 | 描述 |
---|---|
$值 | 一个字面值,一个PHP变量或一个PHP by-reference变量。 |
$方向(可选) | 以下SQLSRV常量之一用于指示参数方向:SQLSRV_PARAM_IN,SQLSRV_PARAM_OUT,SQLSRV_PARAM_INOUT。默认值是SQLSRV_PARAM_IN。 |
$ phpType(可选) | 指定返回值的PHP数据类型的SQLSRV_PHPTYPE_ *常量。 |
$ sqlType(可选) | 一个SQLSRV_SQLTYPE_ *常量,用于指定输入值的SQL Server数据类型。 |
options
指定查询属性选项的数组。下表中描述了支持的密钥:
键 | 值 | 描述 |
---|---|---|
的QueryTimeout | 一个正整数值。 | 以秒为单位设置查询超时。默认情况下,驱动程序将无限期地等待结果。 |
SendStreamParamsAtExec | TRUE或FALSE(默认值为TRUE) | 配置驱动程序在执行时发送所有流数据(TRUE),或以块(FALSE)发送流数据。默认情况下,该值设置为TRUE。有关更多信息,请参见sqlsrv_send_stream_data()。 |
滚动 | 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()的组合。
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com