sqlsrv_query
문을 준비하고 실행합니다.
참고
이 함수는 일회용 쿼리 실행을 위한 것입니다. 자세한 내용은 방법: 단일 쿼리 실행을 참조하십시오.
구문
sqlsrv_query( resource $conn, string $tsql [, array $params [, array $options]])
매개 변수
$conn: 준비된 문에 연결된 연결 리소스입니다.
$tsql: 준비된 문에 해당하는 Transact-SQL 식입니다.
$params [옵션]: 매개 변수가 있는 쿼리의 매개 변수에 해당하는 값의 array입니다. 배열의 각 요소는 다음 중 하나일 수 있습니다.
리터럴 값
PHP 변수
array의 구조는 다음과 같습니다.
array($value [, $direction [, $phpType [, $sqlType]]])
배열의 각 요소에 대한 설명은 아래 표에 있습니다.
요소 설명 $value
리터럴 값, PHP 변수 또는 참조 형식 PHP 변수입니다.
$direction[옵션]
매개 변수 방향을 지정하는 데 사용되는 SQLSRV_PARAM_* 상수인 SQLSRV_PARAM_IN, SQLSRV_PARAM_OUT, SQLSRV_PARAM_INOUT 중 하나입니다. 기본값은 SQLSRV_PARAM_IN입니다.
PHP 상수에 대한 자세한 내용은 SQLSRV 상수를 참조하십시오.
$phpType[옵션]
반환 값의 PHP 데이터 형식을 지정하는 SQLSRV_PHPTYPE_* 상수입니다.
$sqlType[옵션]
입력 값의 SQL Server 데이터 형식을 지정하는 SQLSRV_SQLTYPE_* 상수입니다.
$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 |
이 키는 SQL Server Driver for PHP 1.1 버전에 추가되었습니다. 이러한 값에 대한 자세한 내용은 커서 유형 지정 및 행 선택을 참조하십시오. |
반환 값
문 리소스입니다. 문을 만들 수 없거나 실행할 수 없으면 false가 반환됩니다.
예
아래 예제에서는 AdventureWorks 데이터베이스의 Sales.SalesOrderDetail 테이블에 있는 필드를 업데이트합니다. SQL Server와 AdventureWorks 데이터베이스가 로컬 컴퓨터에 설치되어 있다고 가정합니다. 명령줄에서 이 예제를 실행하면 모든 출력이 콘솔에 기록됩니다.
<?php
/* Connect to the local server using Windows Authentication and
specify the AdventureWorks database as the database in use. */
$serverName = "(local)";
$connectionInfo = array("Database"=>"AdventureWorks");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false )
{
echo "Could not connect.\n";
die( print_r( sqlsrv_errors(), true));
}
/* Set up the parameterized query. */
$tsql = "UPDATE Sales.SalesOrderDetail
SET OrderQty = ( ?)
WHERE SalesOrderDetailID = ( ?)";
/* Assign literal parameter values. */
$params = array( 5, 10);
/* Execute the query. */
if( sqlsrv_query( $conn, $tsql, $params))
{
echo "Statement executed.\n";
}
else
{
echo "Error in statement execution.\n";
die( print_r( sqlsrv_errors(), true));
}
/* Free connection resources. */
sqlsrv_close( $conn);
?>
참고 항목
태스크
방법 매개 변수가 있는 쿼리 수행
방법: 데이터를 스트림으로 보내기