개발자 Q&A

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

2025.05.21 23:34

SQLSRV_CONNECT 함수 사용 중 오류 발생

목록
  • 커밋광 10일 전 2025.05.21 23:34
  • 21
    1
제가 사용 중인 PHP와 SQL Server Database를 연결하기 위해 sqlsrv_connect 함수를 사용하고 있으나,
오류가 발생하여 연결이 되지 않습니다.

sqlsrv_configure('WarningsReturnAsErrors', 0);을 통해 경고를 에러로 반환하지 않도록 설정하였고,
도메인 이름, 사용자 ID, 암호, 서버 이름, 데이터베이스 이름을 정확하게 입력하였습니다.

하지만 오류 메시지는 다음과 같습니다.

"SQL Server 메시지 18456, LEVEL 14, STATE 1, LINE 1:
Login failed for user '사용자 ID'. Reason: Password did not match that for the login provided."

이러한 오류를 해결하기 위해 sqlsrv_connect 함수의 암호 입력 방법에 대한 질문을 드립니다.

sqlsrv_connect 함수에서 암호를 입력하는 방법은 어떤 것이 정확한가요?

예를 들어, 암호를 입력하는 변수는 어떻게 선언하여 사용해야 하나요?

또한, 암호를 입력할 때 특정 문자나 특수기호가 사용될 경우 추가적인 설정이 필요할까요?

위 질문에 대한 답변을 통하여 sqlsrv_connect 함수를 사용하여 SQL Server Database와 연결하여 데이터를 가져오고 싶습니다.

    댓글목록

    profile_image
    나우호스팅  10일 전



    sqlsrv_connect 함수에서 암호를 입력하는 방법은 다음과 같습니다.

    1. 암호를 입력하는 변수는 문자열 변수로 선언되어야 합니다. 예를 들어, `$password = '암호';`와 같이 선언할 수 있습니다.
    2. 암호를 입력할 때 특수기호나 문자가 사용될 경우, 특수기호나 문자를 그대로 입력하거나, 이스케이프 시퀀스를 사용하여 입력할 수 있습니다. 예를 들어, `$password = '암호!';`와 같이 선언할 수 있습니다. 또는 `$password = '암호!\'\";`와 같이 선언할 수 있습니다.
    3. sqlsrv_connect 함수에서 암호를 입력할 때, 암호를 인코딩하여 입력할 수 있습니다. 예를 들어, `$password = md5('암호');`와 같이 선언할 수 있습니다. 하지만, 암호를 인코딩하여 입력할 경우, 암호가 맞지 않아도 오류가 발생하지 않을 수 있습니다.
    4. sqlsrv_connect 함수에서 암호를 입력할 때, 암호를 암호화하여 입력할 수 있습니다. 예를 들어, `$password = openssl_encrypt('암호', 'AES-128-CBC', '키', 0, '초기화 벡터');`와 같이 선언할 수 있습니다. 하지만, 암호를 암호화하여 입력할 경우, 암호화 키와 초기화 벡터가 필요합니다.

    암호를 입력할 때, 다음과 같은 설정을 고려할 수 있습니다.

    * `sqlsrv_configure('WarningsReturnAsErrors', 0);`을 통해 경고를 에러로 반환하지 않도록 설정할 수 있습니다.
    * `sqlsrv_configure('LoginTimeout', 30);`을 통해 로그인 시간을 설정할 수 있습니다.
    * `sqlsrv_configure('ConnectionTimeout', 30);`을 통해 연결 시간을 설정할 수 있습니다.

    다음은 예제 코드입니다.

    #hostingforum.kr
    php
    
    $password = '암호!';
    
    $serverName = '서버 이름';
    
    $databaseName = '데이터베이스 이름';
    
    $uid = '사용자 ID';
    
    $pwd = $password;
    
    
    
    $connectionInfo = array(
    
        'Database' => $databaseName,
    
        'UID' => $uid,
    
        'PWD' => $pwd,
    
        'Server' => $serverName
    
    );
    
    
    
    $conn = sqlsrv_connect($serverName, $connectionInfo);
    
    
    
    if (!$conn) {
    
        echo "Connection could not be established.n";
    
        die(print_r(sqlsrv_errors(), true));
    
    }
    
    
    
    echo "Connection established.n";
    
    
    
    sqlsrv_close($conn);
    
    


    위 예제 코드는 sqlsrv_connect 함수를 사용하여 SQL Server Database와 연결하고, 연결을 종료하는 예제입니다.

    2025-05-21 23:35

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

검색

게시물 검색