『壹』 php怎麼連接sql server 2012
1:PHP5.2.x本身有個php_mssql.dll的擴展用來連接Sql server,但是這個dll只是用來連接低版本 Sql server的(2000以下版本),在Sql server 2005及以上版本無法使用mssql_connect連接到資料庫。
2:php5.3.x不再支持php_mssql.dll 拓展庫了,及時使用php5.2.x中的php_mssql.dll也無法使用。 微軟專門為PHP出了個SQL Server的擴展(Windows版本的),對於Windows下使用php開發SQL Server應用來說,這個擴展有利於利用SQL Server來開發php平台連接sql server資料庫管理系統。
一、php5.3以下的版本連接sql server
5.3以下的版本擴展裡面自帶一個php_mssql.dll;接資料庫的擴展,可以利用這個擴展鏈接資料庫,(只限於鏈接低版本資料庫)。
具體的步驟如下:
1:首先安裝sql server,超級不好安裝,我之前安裝的是2008版本的,Windows過期後就不能用了,然後重裝還裝不上,最後重裝系統才裝上
2:確定SQL裝的時候用的是混合認證模式,或SQL驗證模式,然後打開php的配置文件(php.ini),開啟mssql擴展 (extension=php_pdo_mssql.dll前面的分號去掉)並且需要把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', '用戶名', '密碼');
二、php5.3+連接sql server
其 實5.3以下的php版本已經很少用了,況且安全性和兼容性都不好,所以高版本的php還是比較常見的。實踐證明低版本的php連接資料庫成功率比較低 (2005以上的版本幾乎不能使用),推薦使用php5.3+ php使用微軟專門的擴展 SQLSRV 來連接sqlserver資料庫
步驟如下:
1:先到微軟網站下載 SQL Server Driver for PHP 是一個自解壓的 EXE文件,解壓縮後你會得到這么幾個文件:
其中的52、53表示就是php的5.2.x和5.3.x 版本,選擇跟你php版本相匹配的;vc6或vc9的選擇要看你使用的是什麼web伺服器軟體,如果使用的是IIS那就選擇vc9的,如果是Apache 則選擇vc6的,ts和nts的選擇要看你安裝的php版本是線程安全版的還是非線程安全版,ts是線程安全,nts是非線程安全。
如果不知道可以在phpinfo里看Zend Extension Build這個屬性如下圖:
2:將擴展拷貝到拷到php/ext目錄下,在php.ini文件,添加一下代碼:
extension=在ext下的pdo擴展(用於pdo)
extension=在ext下的擴展
3:重啟伺服器,打開phpinfo();看到以下狀態就證明添加擴展成功,
4:連接測試:
<?php $serverName = "(local)"; $connectionInfo = array("UID"=>"sa","PWD"=>"admin","Database"=>"db_online"); $conn = sqlsrv_connect( $serverName, $connectionInfo); if( $conn ){ echo "Connection established. "; }else{ echo "Connection could not be established. "; die( var_mp(sqlsrv_errors())); } sqlsrv_close( $conn); ?>
注意這里的連接不是用mssql_connect而是用sqlsrv_connect,在這個版本中,還有幾個函數:
這個擴展為php新增了一系列sqlsrv_開頭的函數,常用的如下:
sqlsrv_connect
sqlsrv_close
sqlsrv_commit
sqlsrv_errors
sqlsrv_fetch
sqlsrv_fetch_array
sqlsrv_fetch_metadata
sqlsrv_num_rows
sqlsrv_query
sqlsrv_rollback
sqlsrv_rows_affected
. . .
另外注意的是,如果使用這個擴展連接Sql server 2005以及以上版本的sql server(如sql server 2008),你還需要在機器上先安裝 SQL Server Native Client
不然會出現如下錯誤:
array
0 =>array
0 =>string'IMSSP'(length=5)
'SQLSTATE' =>string'IMSSP'(length=5)
1 =>int-49
'code' =>int-49
2 =>string'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'
(length=216)
'message' =>string'This extension requires the Microsoft SQL Server 2008 Native Client. Access the following URL to download the Microsoft SQL Server 2008 Native Client ODBC driver for x86:
http://go.microsoft.com/fwlink/?LinkId=163712'
(length=216)
1 =>array
0 =>string'IM002'(length=5)
'SQLSTATE' =>string'IM002'(length=5)
1 =>int0
'code' =>int0
2 =>string'[Microsoft][ODBC 驅動程序管理器] 未發現數據源名稱並且未指定默認驅動程序'(length=71)
'message' =>string'[Microsoft][ODBC 驅動程序管理器] 未發現數據源名稱並且未指定默認驅動程序'(length=71)
解決方法:需要安裝SQL Server 2008 Native Client ODBC Driver,下載安裝文件sqlncli.msi,安裝後就可以了。
『貳』 php sqlsrv怎麼連接mssql
首先要使用SQLServerDriverforPHP,下載好對應的版本後,在PHP中添加下載好的擴展。部分代碼:$serverName="localhost";//資料庫伺服器地址$uid="sa";//資料庫用戶名$pwd="123";//資料庫密碼$connectionInfo=array("UID"=>$uid,"PWD"=>$pwd,"Database"=>"cart");$conn=sqlsrv_connect($serverName,$connectionInfo);if($conn==false){echo"連接失敗!";die(print_r(sqlsrv_errors(),true));}
『叄』 Fatal error: Call to undefined function sqlsrv_connect() in C:\xampp\htdocs\phpmssql.php on line 6
windows系統下,PHP5.3以上的版本已經不支持mssql擴展,所以如果你需要和sql server通信需要到http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx自行下載微軟提供的The SQL Server Driver for PHP。
下載後解壓縮,將所有的.dll文件拷貝到php安裝目錄的ext文件夾中,接下來打開php.ini,添加以下語句打開php_sqlsrv和php_pdo_sqlsrv擴展:
——————————————————–
[PHP_PDO_SQLSRV]
extension=php_pdo_sqlsrv_54_ts.dll
[PHP_SQLSRV]
extension=php_sqlsrv_54_ts.dll
—————————————————
這里的54表示的是php5.4,如果你的是5.3版,就改成53,如果你的PHP版本是線程安全的,那麼你的PHP安裝目錄下應該有一個php5ts.dll,與這里的兩行語句對應,如果是php5nts.dll,那麼上面的語句應該是:
—————————————————————-
[PHP_PDO_SQLSRV]
extension=php_pdo_sqlsrv_54_nts.dll
[PHP_SQLSRV]
extension=php_sqlsrv_54_nts.dll
—————————————————-
『肆』 php 連接server sql2008
樓主能走到這一步說明做過不少工作,對流程有所了解,閑話不多說。
說下我感覺:最大的可能是php_sqlsrv_52_ts_vc6.dll注意52,vc6這個文件,52對應PHP版本,apacheIIS應注意vc6,vc9的選擇。
如果不行再聯系,我剛剛配置過還熱乎著
『伍』 PHP+MS SQL怎麼連接啊
這個版本在生成的時候,就「--without-mssql」關閉了MSSQL了,加擴展是加不進去的,你需要下載一個沒有「--without-mssql」的版本(7.0.25這個版本就可以了),然後下載SQLSRV的dll,加到PHP裡面,這時候,phpinfo就可以看到SQLSRV了,但是這時候,資料庫連接的時候還是會失敗,這時候,就需要下載個微軟官網下載ODBC驅動了,然後就可以連上了,我也是搞了2天才搞起來。
『陸』 php怎麼樣連接sql資料庫
1、軟體配置
Win7 64 +wampserver2.2d-x32+SQL Server 2008 R2資料庫,wamp2.2中的php版本是5.3.10。
Php環境也可以換成php+apache。
2、支持連接MySQL Server配置
php版本5.3以前,有php_mssql功能,可以使用,但是5.3及以後的版本不支持。
2.1、php連接mssql設置(php5.3以前版本)
(1)、打開php.ini,將
;extension=php_mssql.dll前面的分號(;)去掉,然後重啟 Apache。如果不行的話,進行第2步。
(2)檢查一下你的php安裝目錄下的ext下面有沒有php_mssql.dll存在,如果沒有,從www.php.net重新下載一個php安裝,要下載那個壓縮包的才是最完整的。
如果ext目錄下已經有了php_mssql.dll,那麼你需要打開php.ini,找到
extension_dir = "./ext"
這一句(或者類似的,不一定是"./ext",查找"extension_dir"即可),然後把"./ext"修改為你的php安裝目錄的ext目錄的完整路徑,比如"c:/php/ext",或者"c:/program files/php/ext"這樣。然後再次重啟 Apache。如果還是不行的話,可能就需要第3步了。
(3)把 php 目錄下的 ntwdblib.dll 和 php_mssql.dll 復制到 system32的系統目錄中去,然後重起Apache。
(4)然後就可以連接MSSQL,並進行一些操作了。連接例子如下:
2.2、php連接sqlsrv(php5.3以及以上版本)
(1)、下載Microsoft Drivers forPHPfor SQL Server,官方下載地址:http://www.microsoft.com/en-us/download/details.aspx?id=20098,我使用的是SQLSRV2.0。
(2)、解壓下載下來的文件將php_pdo_sqlsrv_53_ts_vc9.dll文件和php_sqlsrv_53_ts_vc9.dll文件復制到php安裝目錄下的ext文件夾中。此處根據版本不同使用的文件不同。
(3)、在php.ini中添加
extension=php_sqlsrv_53_ts_vc9.dll
extension=php_pdo_sqlsrv_53_ts_vc9.dll
到很多;extension=***.dll語句後面,注意extension_dir 指向的位置是否正確。
(4)、重啟apache,然後訪問http://apache訪問地址/?Phpinfo=1,出現下面圖片中的內容,則代表配置正確。
(5)、寫測試代碼,測試代碼如下:
(6)、上面完成之後,測試代碼的時候會出現連接失敗,因為沒有安裝sql server nation client ,本地客戶端,去下載合適的客戶端,我使用的是Microsoft? SQL Server? 2012 Native Client,下載地址:
(7)、安裝完成之後,在重新啟動apache,然後訪問就可以連接成功了。
(8)、注意:在php.ini文件所在的文件夾中必須要有ntwdblib.dll文件存在。
『柒』 如何在wamp下配置sqlsrv
win7(64位系統),php版本5.5
從microsoft上下載Microsoft® ODBC Driver 11 for SQL Server® – Windows。鏈接地址:http://www.microsoft.com/en-us/download/details.aspx?id=20098
下載SQLSRV31.EXE(這一版本支持php5.5,下載的時候需要根據本機php版本下載哦)。
然後輸入你的PHP bin文件夾路徑,安裝驅動程序的DLL文件。
打開php.ini,添加擴展:
『捌』 求助thinkPHP3.2.2連接mssql2014提示系統不支持sqlsrv
首先 sql server 2014 安裝沒啥說的 鏈接信息自己設置
php 版本 :5.5.12
sqlsrv 驅動 微軟提供了 3.0 和3.1 版本 3.0 對應php 5.4 3.1對應著5.5
PS: win7 64位系統
下載sql server 驅動
Version 3.0 supports PHP 5.4
Version 3.1 supports PHP 5.5
注意 這里下載的官方5.5驅動 是不支持64位環境的 我開始用WAMPSERVER 64位的就無法載入sqlsrv
支持64位的請來這里下載 有區別的就是 5.5 和5.6 版本
所以這里就給 5.5 和 5.6的64位
然後把下載到的文件
php_pdo_sqlsrv_55_nts.dll
php_pdo_sqlsrv_55_ts.dll
php_sqlsrv_55_nts.dll
php_sqlsrv_55_ts.dll
放到php安裝目錄下的ext目錄下 (ext是php5以後的 都是這個目錄)
php配置載入 打開php.ini 搜索 extension 後面添加下面這些 請自己好好看清php.ini的位置
extension=php_pdo_sqlsrv_55_nts.dll
extension=php_pdo_sqlsrv_55_ts.dll
extension=php_sqlsrv_55_nts.dll
extension=php_sqlsrv_55_ts.dll
重啟服務 不重啟 應該就能識別了
『玖』 PHP連接sql2008 R2 Call to undefined function sqlsrv_connect() in 錯誤!!
Call to undefined function sqlsrv_connect() 是說根本就沒這個函數,你確定擴展都加上了么。。。
檢查你的php的ext擴展文件夾裡面有沒有 php_sqlsrv_53_nts_vc9.dll 這個文件
有的話,還要在c盤的windows下的 php.ini 的擴展部分加一句
extension=php_sqlsrv_53_nts_vc9.dll
再重啟伺服器
還有就是你的連接參數格式有問題
$connstr=array("Database"=>"test","Uid"=>"sa","Pwd"=>"123456","CharacterSet"=>"UTF-8");
$conn=sqlsrv_connect('127.0.0.1',$connstr);
你看,伺服器地址是字元串,不加括弧,至於數組的鍵名是否區別大小寫我就不太清楚了,不過我這個是實際用的,應該是正確的,你不妨全抄過去試一試
『拾』 SQL server 2005下載地址
Microsoft
SQL
Server
2005簡體中文開發版.RAR
http://down.snnu.e.cn/d/download.php?n=1&server=url_1&id=587::1214301027
迅雷下載地址,
你自己也可以用迅雷搜索