>  기사  >  백엔드 개발  >  PHP는 MSSQL 데이터베이스(SQLSRV) 인스턴스에 연결됩니다.

PHP는 MSSQL 데이터베이스(SQLSRV) 인스턴스에 연결됩니다.

小云云
小云云원래의
2018-03-05 13:12:373558검색

MSSQL2008/2005 데이터베이스에 연결하는 PHP는 이전 mssql2000에 연결하는 것과 다릅니다. mssql2008/2005에 연결하려면 MSSQL 연결을 위한 PHP 드라이버 확장과 일반적으로 사용되는 hp.ini에 Extension=php_mssql.dll 확장을 추가해야 합니다. only MSSQL2000에 연결하는 데 적합합니다. 이에 대한 해결 방법을 살펴보겠습니다.

1. 확장 프로그램 다운로드

(1) SQL Server Driver for PHP 확장 패키지를 다운로드하려면 공식 웹사이트로 이동하세요. http://www.microsoft.com/en-us/download/details .aspx?id=20098 [다운로드 후 먼저 설치한 후 압축을 풀어야 한다는 점 기억하세요]

(2) 이 사이트에서 직접 다운로드할 수도 있습니다(저는 Microsoft 공식에서 다운로드했습니다) [여기를 클릭하세요. 직접 다운로드]
다운로드합니다. 다운로드한 rar 파일의 압축을 풀면 .dll 파일이 잔뜩 나옵니다.

드라이버를 다운로드하고 다운로드 후 릴리스 프로그램을 설치합니다. 그 안에는 다음 파일이 있습니다:
php_pdo_sqlsrv_52_nts.dll
php_pdo_sqlsrv_52_ts .dll
php_pdo_sqlsrv_53_nts_vc6.dll
php_pdo _sqlsrv_53_nts_vc9.dll
php_pdo_sqlsrv_53_ts_vc6.dll
php_pdo_sqlsrv_53_ts_vc9.dll
php_sqlsrv_52_nts.dll
php_sqlsrv _52_ts.dll
php_sqlsrv_53_nts_vc6.dll
php_s qlsrv_53_nts_vc9.dll
php_sqlsrv_53_ts_vc6.dll
php_sqlsrv_53_ts_vc9.dll
SQLServerDriverForPHP.chm(수동 , 영어 잘하시면 읽으셔도 됩니다 ㅎㅎ)
SQLServerDriverForPHP_License.rtf
SQLServerDriverForPHP_Readme.htm (readme 파일)

2. 확장자 추가

(vc6/vc9) 필요에 따라 확장자를 선택하세요. (php5.2.6/apache2.2.8), php_sqlsrv_52_ts_vc6.dll, php_pdo_sqlsrv_52_ts_vc6.dll을 선택했습니다. 이 두 파일을 wamp 설치 디렉터리의 ext 디렉터리에 복사합니다. ext/

3. php.ini

구성(1) php.ini의 동적 확장에 다음 두 가지 확장을 추가합니다.
Extension=php_sqlsrv_52_ts_vc6.dll
Extension=php_pdo_sqlsrv_52_ts_vc6.dll
(2) 앞에 있는 ; ;extension=php_pdo.dll 및 pdo 연결 확장 활성화
(3) apache를 다시 시작합니다

4. 데이터베이스에 연결합니다(pdo 연결)

<?php
  $servern="SFKFK27EL8FJ\SQLTRY";
  $coninfo=array("Database"=>"try2","UID"=>"sa","PWD"=>"123");
  $conn=sqlsrv_connect($servern,$coninfo) or die ("连接失败!");
  $val=sqlsrv_query($conn,"select * from usertable");
  while($row=sqlsrv_fetch_array($val)){
    echo $row[1]."<br />";
  }
  sqlsrv_close($conn); 
?>

5. 예

링크 예:
mssql_lib.php 파일은 다음과 같습니다.

<?php
class DB {
    var $con = null;
    function __construct($dbhost,$dbuser,$dbpass,$dbname) {
        $connectionInfo =  array("UID"=>$dbuser,"PWD"=>$dbpass,"Database"=>$dbname);
        $this->con = sqlsrv_connect($dbhost,$connectionInfo);
    }
    function query($sql){
        $result = sqlsrv_query($this->con, $sql);
    }
    function getRow($sql){
        $result = sqlsrv_query($this->con, $sql);
        $arr = array();
        while($row = sqlsrv_fetch_array($result))
        {
            $arr[] = $row;
        }
        return $arr[0];
    }
    function getAll($sql){
        $result = sqlsrv_query($this->con, $sql);
        $arr = array();
        while($row = sqlsrv_fetch_array($result))
        {
            $arr[] = $row;
        }
        return $arr;
    }
    function __destruct() {
        unset($con);
    }
}

test.php 페이지는 다음과 같습니다.

//简单调用
$db = new DB(DB_HOST, DB_USER, DB_PASS, DB_NAME);
$sql = "select * from crm_order_batch where (status=0 or status is null) and lock_id is not null  ";
$orders_add_list = $db->getAll($sql);

관련 권장 사항:

MSSQL 쿼리 데이터 페이징 조작 방법,

php MSSQL에 연결하는 방법

MySQL 데이터베이스 소스 명령어 상세 설명_MsSql

위 내용은 PHP는 MSSQL 데이터베이스(SQLSRV) 인스턴스에 연결됩니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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