sqlsrv_queryPrepares and executes a query
&reftitle.description;
mixedsqlsrv_queryresourceconnstringsqlarrayparamsarrayoptions
Prepares and executes a query.
&reftitle.parameters;
conn
A connection resource returned by sqlsrv_connect.
sql
The string that defines the query to be prepared and executed.
params
An array specifying parameter information when executing a parameterized query.
Array elements can be any of the following:
A literal valueA PHP variableAn array with this structure:
array($value [, $direction [, $phpType [, $sqlType]]])
The following table describes the elements in the array structure above:
Array structureElementDescription$valueA literal value, a PHP variable, or a PHP by-reference variable.$direction (optional)One of the following SQLSRV constants used to indicate the
parameter direction: SQLSRV_PARAM_IN, SQLSRV_PARAM_OUT, SQLSRV_PARAM_INOUT.
The default value is SQLSRV_PARAM_IN.$phpType (optional)A SQLSRV_PHPTYPE_* constant that specifies PHP data type of the
returned value.$sqlType (optional)A SQLSRV_SQLTYPE_* constant that specifies the SQL Server data
type of the input value.
options
An array specifying query property options. The supported keys are described
in the following table:
Query OptionsKeyValuesDescriptionQueryTimeoutA positive integer value.Sets the query timeout in seconds. By default, the driver will
wait indefinitely for results.SendStreamParamsAtExec&true; or &false; (the default is &true;)Configures the driver to send all stream data at execution (&true;),
or to send stream data in chunks (&false;). By default, the value is set
to &true;. For more information, see sqlsrv_send_stream_data.ScrollableSQLSRV_CURSOR_FORWARD, SQLSRV_CURSOR_STATIC, SQLSRV_CURSOR_DYNAMIC,
or SQLSRV_CURSOR_KEYSETSee Specifying
a Cursor Type and Selecting Rows in the Microsoft SQLSRV documentation.
&reftitle.returnvalues;
Returns a statement resource on success and &false; if an error occurred.
&reftitle.examples;
sqlsrv_query example
"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));
}
?>
]]>
&reftitle.notes;
For statements that you plan to execute only once, use sqlsrv_query.
If you intend to re-execute a statement with different parameter values, use
the combination of sqlsrv_prepare and sqlsrv_execute.
&reftitle.seealso;
sqlsrv_preparesqlsrv_execute