php5.2 連接 SQL Server2008


如果你見到下面這一段輸出的話,那么你有福了!!!!

Array ( [0] => Array (
 [0] => IMSSP 
 [SQLSTATE] => IMSSP 
 [1] => -49 
 [code] => -49 
 [2] => This extension requires the Microsoft SQL Server 2012 Native Client. Access the following URL to download the Microsoft SQL Server 2012 Native Client ODBC driver for x86: http://go.microsoft.com/fwlink/?LinkId=163712 
 [message] => This extension requires the Microsoft SQL Server 2012 Native Client. Access the following URL to download the Microsoft SQL Server 2012 Native Client ODBC driver for x86: http://go.microsoft.com/fwlink/?LinkId=163712 ) 
 [1] => Array ( 
 	[0] => IM002 [SQLSTATE] => IM002 [1] => 0 [code] => 0 [2] => [Microsoft][ODBC 驅動程序管理器] 未發現數據源名稱並且未指定默認驅動程序 
 	[message] => [Microsoft][ODBC 驅動程序管理器] 未發現數據源名稱並且未指定默認驅動程序 ) )

之前從來沒使用過SQLserver,以前一直使的是MySQL。這些都不是關鍵,關鍵是我用的是php編程語言,還是比較高的5.3(相對於sql server2008來說)。剛開始不會用,甚至數據庫都不會連,用什么SQL語句都不知道,於是啊,一頓百度!!!百度出N種方法,但是,沒有一種成功過,比如裝驅動,改php.ini配置文件……我就不斷的嘗試了近一周,才總算把數據庫給連上了。但是最終用的是php5.2版本,不知道為什么5.3總是不成功,以后以機會再嘗試,現在要忙項目了!!

進入正題

我電腦是win7系統+SQL Server2008+php5.2+apache2.4配置。

1.首先安裝數據庫之后,用windows身份驗證(默認登錄方式,不需要密碼)登錄數據庫。

2.進入之后,選擇對象資源管理器,打開之后,有一個安全性的選項,打開之后,有登錄名這個選項,打開之后,會看到很多的登錄。

3.如果你現在想右鍵單擊登錄名來創建一個新的登錄賬號的話,那你就錯了。

雖然那樣的話,你能創建一個用戶,但是並不能使用(試過很多次,都不行)。

好了,到這個時候,懸崖勒馬吧!!!

4.回到桌面,右鍵點擊“我的電腦”,-->選擇“系統工具”,-->選擇“本地用戶和組”,-->選擇“用戶”,-->右鍵點擊“用戶”,-->選擇“新用戶”,現在你可以設置一個用戶和密碼了。設置完后,取消“用戶下次登錄時須更改密碼”,然后保存,退出。假設我創建的是Admin2,密碼為123456

接下來,返回第三步,現在你可以創建一個新的用戶了。

1.登錄名-->(單擊右鍵)-->新建登錄名-->確定

2.在常規一欄,點擊搜索,在下方輸入名稱-->確定-->取消window身份驗證,選擇SQL Server身份驗證-->取消登錄密碼過期和必須更改兩個選項。然后選擇下方的數據庫和語言

3.服務器角色一欄我現在並不懂,所以我選的是bulkadmin,dbcreate,processadmin,public。你自己看着辦

4.用戶映射一欄,還有下面的安全對象和狀態自己把握,根據需要選擇。

5.點擊確定,此時,你已經成功創建一個用戶,完成總進度的90%。

接下來

打開phpstudy或者wampserver,我用的是phpstudyX64 2014版,打開php擴展及設置-->php擴展,看到其中的php_sqlsvr和php_pdo_sqlsvr,開啟他們倆。

然后,打開php配置文件php.ini,刪除extension=php_sqlsrv.dll和extension=php_pdo_sqlsrv.dll前面的分號(取消注釋),然后保存,重啟phpstudy即可。wampserver做法相似。

然后就可以連接數據庫了

我使用的是sqlsvr_connect()連接,注意主機別寫錯,別以為全是localhost,當初我也是使用localhost,但就是不成功。

代碼如下

<?php
$serverName = "HOMEMIC-26JSJJD\SQLEXPRESS";
$connectionInfo = array( "Database"=>"test", "UID"=>"admin2", "PWD"=>"123456","Charset"=>"utf8");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
     echo "Connection established.<br />";
}else{
     echo "Connection could not be established.<br />";
     die( print_r( sqlsrv_errors(), true));
}
?>

  

 good luck!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM