다음을 통해 공유


방법: SQLSRV 드라이버를 사용하여 매개 변수 방향 지정

PHP 드라이버 다운로드

이 항목에서는 저장 프로시저를 호출할 때 SQLSRV 드라이버를 사용하여 매개 변수 방향을 지정하는 방법을 설명합니다. 매개 변수 방향은 매개 변수 배열을 구성할 때 지정되며(3단계), 이 배열은 sqlsrv_query 또는 sqlsrv_prepare로 전달됩니다.

매개 변수 방향을 지정하려면

  1. 저장 프로시저를 호출하는 Transact-SQL 쿼리를 정의합니다. 저장 프로시저에 전달할 매개 변수 대신 물음표(?)를 사용합니다. 예를 들어, 이 문자열은 두 개의 매개 변수를 허용하는 저장 프로시저(UpdateVacationHours)를 호출합니다.

    $tsql = "{call UpdateVacationHours(?, ?)}";  
    

    참고 항목

    권장되는 방법은 정식 구문을 사용하여 저장 프로시저를 호출하는 것입니다. 정식 구문에 대한 자세한 내용은 저장 프로시저 호출을 참조하세요.

  2. Transact-SQL 쿼리의 자리 표시자에 해당하는 PHP 변수를 초기화하거나 업데이트합니다. 예를 들어, 다음 코드는 UpdateVacationHours 저장 프로시저에 대한 두 매개 변수를 초기화합니다.

    $employeeId = 101;  
    $usedVacationHours = 8;  
    

    참고 항목

    초기화되거나 null, 날짜/시간또는 스트림 형식으로 업데이트되는 변수는 출력 매개 변수로 사용할 수 없습니다.

  3. 2단계의 PHP 변수를 사용하여 Transact-SQL 문자열의 매개 변수 자리 표시자에 순서대로 해당 매개 변수 값의 배열을 만들거나 업데이트합니다. 배열에서 각 매개 변수의 방향을 지정합니다. 각 매개 변수의 방향은 두 가지 방법 중 하나로 결정됩니다. 즉, 입력 매개 변수는 기본값, 출력 매개 변수 및 양방향 매개 변수는 SQLSRV_PARAM_* 상수를 사용합니다. 예를 들어, 다음 코드는 $employeeId 매개 변수를 입력 매개 변수로 지정하고 $usedVacationHours 매개 변수를 양방향 매개 변수로 지정합니다.

    $params = array(  
                     array($employeeId, SQLSRV_PARAM_IN),  
                     array($usedVacationHours, SQLSRV_PARAM_INOUT)  
                    );  
    

    일반적으로 매개 변수 방향을 지정하는 구문을 이해하려면 $var1, $var2$var3이 각각 입력, 출력 및 양방향 매개 변수에 해당한다고 가정합니다. 다음 방법 중 하나를 사용하여 매개 변수 방향을 지정할 수 있습니다.

    • 입력 매개 변수를 암시적으로 지정하고 출력 매개 변수 및 양방향 매개 변수를 명시적으로 지정합니다.

      array(   
             array($var1),  
             array($var2, SQLSRV_PARAM_OUT),  
             array($var3, SQLSRV_PARAM_INOUT)  
             );  
      
    • 입력 매개 변수를 명시적으로 지정하고, 출력 매개 변수를 명시적으로 지정하며, 양방향 매개 변수를 명시적으로 지정합니다.

      array(   
             array($var1, SQLSRV_PARAM_IN),  
             array($var2, SQLSRV_PARAM_OUT),  
             array($var3, SQLSRV_PARAM_INOUT)  
             );  
      
  4. sqlsrv_query 또는 sqlsrv_preparesqlsrv_execute를 사용하여 쿼리를 실행합니다. 예를 들어 다음 코드는 $params 에서 지정된 매개 변수 값으로 $tsql 쿼리를 실행하기 위해 $conn연결을 사용합니다.

    sqlsrv_query($conn, $tsql, $params);  
    

참고 항목

방법: SQLSRV 드라이버를 사용하여 출력 매개 변수 검색

방법: SQLSRV 드라이버를 사용하여 입력 및 출력 매개 변수 검색