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);
?>

참고 항목

태스크

방법 매개 변수가 있는 쿼리 수행
방법: 데이터를 스트림으로 보내기

개념

설명서에 포함된 코드 예제 정보

관련 자료

API 참조(SQL Server Driver for PHP)
디자인 고려 사항
방향 매개 변수 사용