在线文档教程

sqlsrv_query

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一个正整数值。以秒为单位设置查询超时。默认情况下,驱动程序将无限期地等待结果。
SendStreamParamsAtExecTRUE或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()的组合。