개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.15 11:28

SQLSRV_PREPARE 함수 사용 시 오류 발생

목록
  • iOS연구가 오래 전 2025.06.15 11:28
  • 66
    1
최근에 PHP와 SQLSRV를 사용하여 데이터베이스 연동을 하려고 합니다. 하지만 SQLSRV_PREPARE 함수를 사용하여 쿼리를 준비할 때 오류가 발생하는 것을 발견했습니다.

SQLSRV_PREPARE 함수를 사용하여 쿼리를 준비할 때, 쿼리 내에서 사용하는 변수를 선언할 때 어떤 방식으로 해야 하는지 알려주세요.

예를 들어, 다음과 같은 쿼리문을 준비하려고 합니다.

sql

SELECT * FROM 테이블명 WHERE 컬럼명 = @변수명



변수를 선언하고 사용하는 방법을 알려주세요.

또한, SQLSRV_PREPARE 함수를 사용하여 쿼리를 준비할 때, 오류가 발생하는 경우를 어떻게 처리할 수 있는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  오래 전



    SQLSRV_PREPARE 함수를 사용하여 쿼리를 준비할 때, 쿼리 내에서 사용하는 변수를 선언하는 방법은 다음과 같습니다.

    1. 변수를 선언하기 위해 SQLSRV_PREPARE 함수에 '변수명'을 포함한 쿼리를 전달합니다.
    2. 쿼리 내에서 '@변수명'을 사용하여 변수를 참조합니다.
    3. SQLSRV_PREPARE 함수를 호출하여 쿼리를 준비합니다.
    4. 쿼리 내에서 '@변수명'을 사용하여 변수의 값을 전달합니다.

    예를 들어, 다음과 같은 쿼리문을 준비할 때, 변수를 선언하고 사용하는 방법은 다음과 같습니다.

    #hostingforum.kr
    php
    
    $stmt = sqlsrv_prepare($conn, "SELECT * FROM 테이블명 WHERE 컬럼명 = @변수명");
    
    sqlsrv_paraminfo($conn, $stmt, SQLSRV_PARAM_IN);
    
    $param = array(1 => array('name' => '@변수명', 'sqltype' => SQLSRV_PHPTYPE_INT, 'value' => 1));
    
    sqlsrv_execute($stmt, $param);
    
    


    SQLSRV_PREPARE 함수를 사용하여 쿼리를 준비할 때, 오류가 발생하는 경우를 처리하는 방법은 다음과 같습니다.

    1. 오류 코드를 확인하여 오류의 원인을 파악합니다.
    2. 오류 메시지를 출력하여 오류의 원인을 파악합니다.
    3. 오류를 처리하기 위해 try-catch 블록을 사용합니다.

    예를 들어, 다음과 같은 쿼리문을 준비할 때, 오류가 발생하는 경우를 처리하는 방법은 다음과 같습니다.

    #hostingforum.kr
    php
    
    try {
    
        $stmt = sqlsrv_prepare($conn, "SELECT * FROM 테이블명 WHERE 컬럼명 = @변수명");
    
        sqlsrv_paraminfo($conn, $stmt, SQLSRV_PARAM_IN);
    
        $param = array(1 => array('name' => '@변수명', 'sqltype' => SQLSRV_PHPTYPE_INT, 'value' => 1));
    
        sqlsrv_execute($stmt, $param);
    
    } catch (Exception $e) {
    
        echo "오류 코드: " . sqlsrv_get_last_message();
    
    }
    
    


    이러한 방법으로 SQLSRV_PREPARE 함수를 사용하여 쿼리를 준비할 때, 변수를 선언하고 사용하는 방법과 오류가 발생하는 경우를 처리하는 방법을 알 수 있습니다.

    2025-06-15 11:29

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 37,643건 / 9 페이지

검색

게시물 검색