中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么解決php不支持mssql的問題

發布時間:2021-09-13 13:10:12 來源:億速云 閱讀:122 作者:chen 欄目:編程語言

本篇內容介紹了“怎么解決php不支持mssql的問題”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

本文操作環境:windows7系統、php5.3版,DELL G3電腦

php系統不支持mssql問題的解決辦法、php5.3不能連接mssql數據庫的解決方法

本文實例講述了php5.3不能連接mssql數據庫的解決方法。

分析如下:

自從php5.3之后系統就不支持mssql_connect這個函數連接了,以前我也講可以使用com接口來實現,現在我再介紹解決php5.3不能連接mssql數據庫另一方法.

windows系統下,PHP5.3以上的版本已經不支持mssql擴展.

首先http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx 點擊 get it 下載SQLSRV20.EXE。

將文件解壓到php的擴展文件夾ext下,打開php.ini在結尾添加:

代碼如下:

[PHP_PDO_SQLSRV] 
extension=php_pdo_sqlsrv_53_nts_vc6.dll 
[PHP_SQLSRV] 
extension=php_sqlsrv_53_nts_vc6.dll

保存后重啟apache即可,附上簡單的php連接的例子,代碼如下:

代碼如下:

<?php 
$serverName = "(127.0.0.1)"; 
$connectionInfo = array( "UID"=>"root", 
"PWD"=>"root2010", 
"Database"=>"master"); 
 
$conn = sqlsrv_connect( $serverName, $connectionInfo); 
if( $conn ) 
{ 
echo "Connection established.n"; 
} 
else 
{ 
echo "Connection could not be established.n"; 
die( print_r( sqlsrv_errors(), true)); 
} 
?>

我使用的是wamp5.1集成安裝包,在windows server 2008上面做的測試,php5.4以上版本測試沒有成功.

如果使用這個擴展連接Sql server 2005以上版本的sql server(如sql server 2008),你還需要在機器上先安裝 SQL Server Native Client :http://download.microsoft.com/download/0/E/6/0E67502A-22B4-4C47-92D3-0D223F117190/sqlncli.msi

這個擴展為php新增了一系列sqlsrv_開頭的函數,函數參考如下:

代碼如下:

sqlsrv_begin_transaction 
sqlsrv_cancel 
sqlsrv_client_info 
sqlsrv_close 
sqlsrv_commit 
sqlsrv_configure 
sqlsrv_connect 
sqlsrv_errors 
sqlsrv_execute 
sqlsrv_fetch 
sqlsrv_fetch_array 
sqlsrv_fetch_object 
sqlsrv_fetch_metadata 
sqlsrv_free_stmt 
sqlsrv_get_config 
sqlsrv_get_field 
sqlsrv_has_rows 
sqlsrv_next_result 
sqlsrv_num_fields 
sqlsrv_num_rows 
sqlsrv_prepare 
sqlsrv_query 
sqlsrv_rollback 
sqlsrv_rows_affected 
sqlsrv_send_stream_data 
sqlsrv_server_info

更多詳細的說明可以在剛才的自解壓的文件中有個 SQLServerDriverForPHP.chm 幫助文件中可以找到打開后點擊API Reference節點.

另外看一種odb連接方式,代碼如下:

代碼如下:

$dbhost = ''; 
$dbuser = ''; //你的mssql用戶名 
$dbpass = ''; //你的mssql密碼 
$dbname = ''; //你的mssql庫名 
$connect=odbc_connect("Driver={SQL Server};Server=$dbhost;Database=$dbname","$dbuser","$dbpass"); 
$sql="select * from content"; 
$exec=odbc_exec($connect,$sql); 
while($row = (odbc_fetch_array($exec))) 
{ 
$row['id']   //?取字段值 
… 
}

undefined

相關介紹:

一、php5.3通過PDO成功連接MSSQL的步驟簡要整理如下:

1、下載microsoft drivers  for php for sql server(目前有2.0 3.0版本,分別又分有ts和nts版,可通過phpinfo()中的Thread Safety:enable確認是ts,詳見驅動自帶手冊)

2、復制驅動至php文件夾的ext文件夾后,修改php.ini擴展extension=php_pdo_sqlsrv_53_ts_vc6.dll

3、下載Microsoft SQL Server 2008 R2 Native Client安裝

測試代碼:

<?php
  try {
     $hostname = "192.168.1.100"; 
     $dbname = "Northwind";
     $username = "sa"; 
     $pwd = "pwd100"; 
     $dsn="sqlsrv:Server=$hostname;database=$dbname";
     
    $conn = new PDO ($dsn,$username,$pwd);
    $conn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
    echo "mssql database connnection sucessed!";
   } catch (PDOException $e) {
     echo "Failed to get DB handle: " . $e->getMessage() . "\n";
     exit;
   }
?>

二、windows系統下,PHP5.3以上的版本已經不支持mssql擴展,所以如果你需要和sql server通信需要到http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx自行下載微軟提供的The SQL Server Driver for PHP。這是一個自解壓文件,解壓后會得到以下幾個文件:

php_sqlsrv_52_nts_vc6.dll
php_sqlsrv_52_ts_vc6.dll
php_sqlsrv_53_nts_vc6.dll
php_sqlsrv_53_nts_vc9.dll
php_sqlsrv_53_ts_vc6.dll
php_sqlsrv_53_ts_vc9.dll
php_sqlsrv_license.rtf
SQLServerDriverForPHP.chm
SQLServerDriverForPHP_Readme.htm

其中,52,53表示PHP的5.2.X和5.3.X的版本;nts表示非線和安全,ts表示線程安全;vc6表示使用Apache作為Web Server,vc9表示使用IIS作為Web Server。

根據您的配置,將相應的DLL文件拷貝到php安裝目錄的ext文件夾中,接下來打開php.ini,添加以下語句打開php_sqlsrv和php_pdo_sqlsrv擴展:

——————————————————–

[PHP_PDO_SQLSRV]
extension=php_pdo_sqlsrv_53_ts_vc6.dll
[PHP_SQLSRV]
extension=php_sqlsrv_53_ts_vc6.dll

—————————————————

這里的53表示的是php5.3,如果你的是5.2版,就改成52,如果你的PHP版本是線程安全的,那么你的PHP安裝目錄下應該有一個php5ts.dll,與這里的兩行語句對應,如果是php5nts.dll,那么上面的語句應該是:

—————————————————————-

[PHP_PDO_SQLSRV]
extension=php_pdo_sqlsrv_53_nts_vc6.dll
[PHP_SQLSRV]
extension=php_sqlsrv_53_nts_vc6.dll

—————————————————-

壓縮包里有各個版本對于的dll文件,大家可以去仔細核查。

開啟擴展后,重啟apache,這樣就可以連接sqlserver了,但是還有一點要注意,如果你沒有安裝Microsoft SQL Server 2008 R2 Native Client,必須去http://msdn.microsoft.com/en-us/library/cc296170(SQL.90).aspx下載安裝,因為微軟的這個擴展包需要這個支持。

一切妥當之后,就可以寫php代碼了,如果你下載了The SQL Server Driver for PHP,那么在解壓縮后的文件夾里有一個幫助文檔,你可以很容易的找到示例,在這里站長介紹一個簡單的例子:

<?php
//本地測試的服務名
$serverName = “(127.0.0.1)”;
//使用sql server身份驗證,參數使用數組的形式,一次是用戶名,密碼,數據庫名
//如果你使用的是windows身份驗證,那么可以去掉用戶名和密碼
$connectionInfo = array( “UID”=>”root”,
“PWD”=>”root2010″,
“Database”=>”master”);
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn )
{
echo “Connection established.\n”;
}
else
{
echo “Connection could not be established.\n”;
die( print_r( sqlsrv_errors(), true));
}
?>

如果連接不成功,重啟sql server再試。

“怎么解決php不支持mssql的問題”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大冶市| 济南市| 抚州市| 鄂托克前旗| 庄浪县| 绥中县| 新野县| 澄江县| 彰化县| 元江| 灵寿县| 铜鼓县| 寿宁县| 萝北县| 台湾省| 当雄县| 荆门市| 临夏市| 金坛市| 榆社县| 宿州市| 仁布县| 武清区| 印江| 阳高县| 嘉定区| 呼玛县| 新巴尔虎右旗| 仲巴县| 个旧市| 鄂州市| 武宁县| 常州市| 历史| 武宣县| 石棉县| 乳山市| 通榆县| 闻喜县| 远安县| 定西市|