>백엔드 개발 >PHP 튜토리얼 >PHP를 SQL Server_php에 연결하는 방법 팁

PHP를 SQL Server_php에 연결하는 방법 팁

WBOY
WBOY원래의
2016-05-16 20:06:351187검색

설명:
1: PHP5.2.x 자체에는 SQL Server에 연결하기 위한 php_mssql.dll 확장자가 있지만 이 dll은 SQL Server의 하위 버전(2000 미만 버전)에 연결하는 데만 사용되며 Sql에서는 사용할 수 없습니다. 서버 2005 이상에서는 mssql_connect를 사용하여 데이터베이스에 연결합니다.
2: php5.3.x는 더 이상 php_mssql.dll 확장 라이브러리를 지원하지 않으며, php5.2.x에서 php_mssql.dll을 사용하더라도 사용할 수 없습니다. Microsoft는 Windows에서 PHP를 사용하여 SQL Server 애플리케이션을 개발하기 위해 특별히 PHP용 SQL Server 확장(Windows 버전)을 개발했습니다. 이 확장은 SQL Server를 사용하여 SQL Server 데이터베이스 관리 시스템에 연결하는 PHP 플랫폼을 개발하는 데 도움이 됩니다.
1. php5.3 이하 버전의 SQL Server에 접속하세요
5.3 이하 버전 확장에는 데이터베이스에 연결하기 위한 확장인 php_mssql.dll이 포함되어 있으며, 이 확장을 사용하여 데이터베이스에 연결할 수 있습니다(하위 버전 데이터베이스에 대한 연결로 제한됨).
구체적인 단계는 다음과 같습니다.
1: 먼저 SQL Server를 설치합니다. 이전에 2008 버전을 설치했는데 Windows가 만료된 후 다시 설치했는데 여전히 설치가 되지 않았습니다.
2: SQL을 설치할 때 혼합 인증 모드 또는 SQL 확인 모드가 사용되는지 확인한 다음 php 구성 파일(php.ini)을 열고 mssql 확장을 활성화하고(확장 = php_pdo_mssql.dll 앞의 세미콜론 제거) 다음을 수행해야 합니다. add mssql .secure_connection = On은 다시 시작한 후에 적용됩니다.
원활하게 진행되면 이미 데이터베이스에 연결할 수 있습니다. 연결할 수 없으면 낮은 구성으로 계속해야 합니다.
3: ntwdblib 파일 버전(php/아래 및 Apache/아래)을 확인하고 올바른 버전의 ntwdblib.dll(2000.80.194.0)을 다운로드하여 기존 DLL 파일을 덮어씁니다(ntwdblib.dll, php_mssql.dll을 system32 디렉터리에 복사) 또한) ntwdblib.dll은 PHP가 MSSQL2005 또는 2008에 연결하는 데 사용되는 드라이버 파일입니다.
4: 연결 테스트: mssql_connect('localhost,1433', 'username', 'password');
2. php5.3으로 SQL 서버 연결
사실 PHP 5.3 이하 버전은 거의 사용되지 않습니다. 게다가 보안이나 호환성도 좋지 않아 여전히 상위 버전의 PHP가 비교적 일반적입니다. 실습에 따르면 낮은 버전의 PHP는 데이터베이스 연결 성공률이 낮다는 것이 입증되었습니다(2005 이상의 버전은 거의 사용할 수 없음). SQLServer 데이터베이스에 연결하려면 PHP5.3 PHP를 사용하여 Microsoft의 특수 확장 SQLSRV를 사용하는 것이 좋습니다. > 단계는 다음과 같습니다.
1: 먼저 Microsoft 웹사이트로 이동하여 PHP용 SQL Server 드라이버를 다운로드하세요. 압축을 풀면 다음 파일이 제공됩니다.

52와 53은 php의 5.2.x 및 5.3.x 버전을 나타냅니다. vc6 또는 vc9의 선택은 사용 중인 웹 서버 소프트웨어에 따라 다릅니다. IIS에서는 vc9를 선택합니다. Apache인 경우 vc6을 선택합니다. ts 및 nts 선택은 설치된 PHP 버전이 스레드로부터 안전한지 또는 스레드로부터 안전하지 않은지 여부에 따라 달라집니다. 안전한.

모르는 경우 아래와 같이 phpinfo에서 Zend Extension Build 속성을 확인할 수 있습니다.

2: 확장자를 php/ext 디렉터리에 복사하고 php.ini 파일에 다음 코드를 추가합니다.

Extension=ext 아래의 pdo 확장자(pdo용)
Extension=ext 아래의 확장자
3: 서버를 다시 시작하고 phpinfo()를 엽니다. 다음 상태가 표시되면 확장이 성공적으로 추가되었음을 의미합니다.

4: 연결 테스트:

<&#63;php
  $serverName = "(local)";
  $connectionInfo = array("UID"=>"sa","PWD"=>"admin","Database"=>"db_online");
  $conn = sqlsrv_connect( $serverName, $connectionInfo);
  if( $conn ){
     echo "Connection established.\n";
  }else{
     echo "Connection could not be established.\n";
     die( var_dump(sqlsrv_errors()));
  }
  sqlsrv_close( $conn);
&#63;>

여기서의 연결은 mssql_connect가 아니라 sqlsrv_connect입니다. 이 버전에는 다음과 같은 여러 기능이 있습니다.
이 확장은 sqlsrv_로 시작하는 일련의 함수를 PHP에 추가합니다. 일반적으로 사용되는 함수는 다음과 같습니다.

sqlsrv_connect
sqlsrv_close
sqlsrv_커밋
sqlsrv_오류
sqlsrv_fetch
sqlsrv_fetch_array
sqlsrv_fetch_metadata
sqlsrv_num_rows
sqlsrv_query
sqlsrv_롤백
sqlsrv_rows_영향을 받음
.
또한 이 확장을 사용하여 SQL Server 2005 이상(예: SQL Server 2008)에 연결하는 경우 먼저 컴퓨터에 SQL Server Native Client도 설치해야 합니다.
그렇지 않으면 다음 오류가 발생합니다. :

배열
0 =>배열
0 =>문자열'IMSSP'(길이=5)
'SQLSTATE' =>문자열'IMSSP'(길이=5)
1 =>int-49
'코드' =>int-49
2 =>string'이 확장에는 Microsoft SQL Server 2012 Native Client가 필요합니다. x86용 Microsoft SQL Server 2012 Native Client ODBC 드라이버를 다운로드하려면 다음 URL에 액세스하세요. http://go.microsoft.com/fwlink/?LinkId= 163712'(길이=216)
'message' =>string'이 확장에는 Microsoft SQL Server 2008 Native Client가 필요합니다. x86용 Microsoft SQL Server 2008 Native Client ODBC 드라이버를 다운로드하려면 http://go.microsoft.com/fwlink/? =163712'(길이=216)
1 =>배열
0 =>문자열'IM002'(길이=5)
'SQLSTATE' =>문자열'IM002'(길이=5)
1 =>int0
'코드' =>int0
2 =>string '[Microsoft][ODBC Driver Manager] 데이터 소스 이름을 찾을 수 없으며 기본 드라이버가 지정되지 않았습니다'(길이=71)
'메시지' =>문자열'[Microsoft][ODBC Driver Manager] 데이터 소스 이름을 찾을 수 없고 기본 드라이버가 지정되지 않았습니다'(길이=71)
.

해결책: SQL Server 2008 Native Client ODBC 드라이버를 설치하고 설치 파일 sqlncli.msi를 다운로드하여 설치해야 합니다.

위 내용은 PHP를 SQL 서버에 연결하는 방법입니다. 비슷한 문제를 해결하는 데 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.