首頁 > 網際網路

php通過pdo連線sql server

2019-12-14 00:44:31

       目前php連線資料庫的方法很多,但是那主要是針對於mysql,由於經常是在windows上工作,所以便把資料庫選擇了sql server,在採用sql server進行資料庫連線的時候,特別容易出現許可權的問題;

         註:由於「Microsoft Drivers for PHP for SQL Server」驅動程式目前只有32位元版,所以如果是使用sql server資料庫的朋友,不建議使用php 64位元,否則會導致無法連線 sql server 資料庫的問題!

      為了方便大家使用,特價設定好(sql server)的php放到百度雲,方便大家使用,百度雲地址:連結:http://pan.baidu.com/s/1i3s1QqL 密碼:2zeq

       方便他人亦是方便自己,如果覺得還行就點下下邊投票吧,這樣可以幫助其他人更快的找到解決問題的方法;有疑問的也可留言哦, 謝謝!

1

開啟?"C:ProgramDataMicrosoftWindowsStart MenuProgramsMicrosoft SQL Server 2014Configuration ToolsSQL Server 2014 Configuration Manager"

2

1、修改 Named Pipes 的 Status為 Enable


3

2、修改 TCP/IP->IP Addresses->IP All

① 清除 TCP Dynamic Ports 裡面的內容;

② 修改 TCP Port 的值為 1433;

具體的內容如下:


4

3、修改 TCP/IP->IP Addresses->IP12(自己連線資料所使用的ip地址,本機測試採用的是127.0.0.1)

① 修改 Active 為 Yes;

② 修改 Enabled 為 Yes;

③ 清除 TCP Dynamic Ports 裡面的內容;

④ 修改 TCP Port 的值為 1433;

具體的內容如下:


5

4、開啟"C:ProgramDataMicrosoftWindowsStart MenuProgramsMicrosoft SQL Server 2014SQL Server 2014 Management Studio"

① 輸入 Server name:"127.0.0.1,1433"

② Authentication:SQL Server Authentication

③ 使用者名稱:sa(超級管理員)

④ 密碼:****

具體的效果如下圖


6

5、點選連線後,如果設定成功,效果應該如下圖所示:

至此資料庫的許可權設定完畢;


1

新建一個php檔案,輸入內容:

<?php

echo phpinfo();

?>

執行後,可以檢視到如下資料:

① PHP 的版本是 5.4.24;

② 屬於執行緒非安全版;



2

在微軟官網去下載最新的「Microsoft Drivers for PHP for SQL Server」:

https://www.microsoft.com/en-us/download/details.aspx?id=20098

並 解壓開後的效果如下圖所示:


3

由於本機的php的版本是5.4的,並且是非執行緒安全的,所以我這裡需要的是:

php_sqlsrv_54_nts.dll

php_pdo_sqlsrv_54_nts.dll

並將它們拷貝到 php根目錄下的ext目錄下面

如:我的目錄是「C:Program Files (x86)IIS ExpressPHPv5.4ext」

註:其中的54表示的是php的版本號,nts表示的是非執行緒安全,ts表示的是執行緒安全,不同的php版本需要不同的sql server 庫


4

開啟php根目錄下面的 php.ini檔案;

① 去掉」extension=php_pdo.dll「前面的";"

② 在下面新增 

」extension=php_pdo_sqlsrv_54_nts.dll「;

」extension=php_sqlsrv_54_nts.dll「;

並儲存


1

由於修改的地方較多,所以建議重新啟動電腦後繼續下面的操作;

2

新建一個php工程,新增如下的內容:

<?php

try {   

        $dbName = "sqlsrv:Server=127.0.0.1,1433;Database=dbPHP";   

        $dbUser = "sa";   

        $dbPassword = "fuke";   

        $db = new PDO($dbName, $dbUser, $dbPassword);       

        if ($db)   

        {       

                  echo "database connect succeed.<br />";   

        }

}

catch (PDOException $e)

{   

       $content = iconv("UTF-8","gbk",$e->getMessage());    

       echo   $content . "<br />";}echo "Hello World!";

}

?>

執行後的效果如下:


3

至此php通過pdo的方式連線sql?server便成功了;方便他人亦是方便自己,如果覺得還行就點下下邊的投票吧,這樣可以幫助其他人更快的找到解決問題的方法;有疑問的也可留言哦, 謝謝!

IT145.com E-mail:sddin#qq.com