『壹』 關於wampserver的php連接sqlserver2008 R2
那是因為你配錯了。php_mssql已經不支持mssql2008,php還必須5.3以上的版本。推薦使用phpstudy已經配好了,在擴展里勾上php_sqlsrv即可。
『貳』 php連接sqlserver2008失敗
這個是提示你沒有安裝MSSQl 2012的驅動擴展。
從Sql Server 2008開始,不再支持PHP自帶的驅動程序,需要使用微軟提供的驅動程序。此驅動程序拋棄了mssql系列函數,只能使用sqlsrv和pdo的方式進行連接操作。
步驟1:下載微軟Sql Server官方驅動程序,下載地址:
http://www.microsoft.com/en-us/download/details.aspx?id=20098
步驟2:安裝Sql Server的驅動擴展
將下載好的exe程序打開,解壓會釋放出很多.dll文件,將對應的dll文件拷貝到你的php擴展包目錄下的ext目錄。
解壓得到的dll文件中文件名的數字部分(例如52,53)代表對應不同的PHP版本,文件名中帶n的為非線程安全的,文件名中的vc對應的是VC版本,VC6可以部署到Apach2.X版本,VC9可部署到更高版本Apache。
首先,需要確定你的PHP的版本,假設PHP的版本為5.3.x
其次,要確定你的PHP運行的是線程安全的還是非線程安全的(假設線程安全)。
另外,還需要確認的版本(假設Apache2.2)。
那麼,你對應的文件應當是php_pdo_sqlsrv_53_ts_vc6.dll(PDO鏈接)和php_sqlsrv_53_ts_vc6.dll(sqlsrv鏈接),將這兩個文件拷貝到你的PHP的擴展包下的ext目錄,然後要修改php.ini,增加這兩項擴展的支持:
extension=php_sqlsrv_53_ts_vc6.dll
extension=php_pdo_sqlsrv_53_ts_vc6.dll
保存後重啟Apache即可。
『叄』 linux下PHP連接sql2008出現Fatal error: Call to undefined function mssql_connect()
php跨平台,不代表php的擴展都能跨平台
sqlserver因為高度依賴windows,是無法在非windows下安裝相應的客戶端連接組件的
在windows系統下
php5.2以下,可以使用自帶的 mssql 擴展,開啟php對mssql的支持。
php5.3及以上,則需要安裝由微軟維護的sqlsrv擴展(有多個版本,具體與php版本對應關系可去微軟官網查看)
在非windows系統下,有兩個建議:
重新安裝windows server系統(根據需求選擇版本,一般最新版可以兼容舊版的)
可以採用非直連的方式獲取數據,具體方法是,在windows資料庫伺服器上部署一套web介面服務(類似於網站),可以直接連接資料庫輸出數據,linux端的php通過介面獲取數據
希望對你有幫助
『肆』 Ubuntu php 連接sqlserver 2008可以嗎
Ubuntu不支持sqlserver 2008的安裝,但Ubuntu 上的php可以連接其他電腦上安裝並開放的sqlserver 2008, php5.2可以在php.ini添加extension = "mssql.so"試試,5.3好像不支持了----僅供參考
『伍』 php連sqlserver2008 r2需要什麼版本的ntwdblib.dll
版本的選擇是依據php版本決定的,具體如下:
一、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是非線程安全。
『陸』 php如何連接SQL server 2008 r2,求助各位
配置php
a、打開php.in將extension=php_mssql.dll的注釋符號去掉。
b、打開php.in將mssql.secure_connection
=
off改為on。
c、將php_mssql.dll拷貝到php.in中extension_dir
指定的目錄或者系統system32目錄下。(php_mssql.dll在php的壓縮安裝包中有)。
?php
/**
*
@author
samsun
*
@right
2007
*
php使用mssql庫,連接sql
server資料庫實例
*/
$server='ip地址或伺服器名';
$username='資料庫用戶名';
$password='資料庫密碼';
$database='資料庫名';
$conn=mssql_connect($server,$username,$password)
or
die("couldn't
connect
to
sql
server
on
$server");
$db=mssql_select_db($database)
or
die("couldn't
open
database
$database");
?
或:
?php
//鏈接資料庫
$conn=mssql_connect('localhost','sa','123456');
mssql_select_db('gu_dde',$conn);
//query語句
$query="select
*
from
dde_top";
$adminresult=mssql_query($query);
//輸出結果
$num=mssql_num_rows($adminresult);
for($i=0;$i<$num;$i++)
{
$row=mssql_fetch_array($adminresult);
echo($row[1]);
echo("
");
}
?
『柒』 PHP連接sqlserver2008,怎麼連接指定ip地址上的資料庫
首先要使用SQL
Server
Driverfor
PHP,下載好對應的版本後,在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));}
『捌』 請問php5.6可以自動地連接sql server2008嗎
配置好肯定就可以自動連接了
下載驅動程序,下載後安裝釋放程序,裡面有以下文件:
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_sqlsrv_53_nts_vc9.dll
php_sqlsrv_53_ts_vc6.dll
php_sqlsrv_53_ts_vc9.dll
SQLServerDriverForPHP.chm(手冊,英文夠好的話,可以看看,嘿嘿)
SQLServerDriverForPHP_License.rtf
SQLServerDriverForPHP_Readme.htm(自述文件)
關於VC6和VC9的區別
VC6 版本是使用 Visual Studio 6 編譯器編譯的,如果你是在windows下使用Apache+PHP的,請選擇VC6版本。
VC9 版本是使用 Visual Studio 2008 編譯器編譯的,如果你是在windows下使用IIS+PHP的,請選擇VC9版本。
開始配置
選擇php_sqlsrv_53_ts.dll和php_pdo_sqlsrv_53_ts.dll。把文件拷貝到PHP文件夾下的ext目錄下,然後在配置文件php.ini
的Extensions後面加上:
extension=php_sqlsrv_53_ts.dll
extension=php_pdo_sqlsrv_53_ts.dll
再重啟Apache服務。
最後測試一下是否成功,在PHP中執行phpinfo()的查看sqlsrv、看圖畫紅線處、如圖所示這樣就表示連接成功了!!
php連接SQLServer2008
1.Windows Authentication連接
<?php
$serverName = "(localhost)";
$connectionInfo = array("Database"=>"test","ConnectionPooling"=>false);
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn == false)
{
echo "連接失敗!";
die( print_r( sqlsrv_errors(), true));
}
?>
2.SQL Server Authentication連接
<?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));
}
//執行有結果集的SQL語句
$query = sqlsrv_query($conn, "select * from tb_goods");
while($row = sqlsrv_fetch_array($query))
{
echo $row[0]."-----".$row[1]."<br/>";
}
//執行增刪改的SQL語句
$rs=sqlsrv_query($conn,"update tb_goods set name='中國勁酒' where name='勁酒'");
$num=sqlsrv_rows_affected($rs);//返回修改的行數
if($num>0)
{
echo '修改成功!'.$num ;
}
else
{
echo '修改失敗!';
}
?>
用於 SQL Server Driver for PHP 的 API 名稱是 sqlsrv。所有 sqlsrv函數都以 sqlsrv_打頭,
SQL Server Driver for PHP 包含以下函數:
函數說明
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_field_metadata 返回欄位元數據。
sqlsrv_free_stmt 關閉語句。釋放與相應語句關聯的所有資源。
sqlsrv_get_config 返回指定配置設置的值。
sqlsrv_get_field 按索引檢索當前行中的欄位。可以指定 PHP 返回類型。
sqlsrv_has_rows 檢測結果集是否具有一行或多行。
sqlsrv_next_result 使下一結果可供處理。
sqlsrv_num_rows 報告結果集中的行數。
sqlsrv_num_fields 檢索活動結果集中的欄位數。
sqlsrv_prepare 准備 Transact-SQL 查詢,但不執行該查詢。隱式綁定參數。
sqlsrv_query 准備 Transact-SQL 查詢,並將其執行。
sqlsrv_rollback 回滾事務。
sqlsrv_rows_affected 返回有所修改的行的數目。
sqlsrv_send_stream_data 在每次調用函數時向伺服器發送最多八千位元組 (8 KB) 的數據。
sqlsrv_server_info 提供有關伺服器的信息。
『玖』 php連接sqlserver2008操作
類擬資料庫調式的,最好加一句
mssql_select_db($dbName, $conn);
$result=mssql_query("update CRM_GROUP set read_flag='$bool' where client_id='$clientid'",
mssql_min_error_severity(1);
$query = mssql_query('SELECT `syntax`, `error` FROM `MSSQL`');
if (!$query) {
//讀取Query相關的信息來獲取當前錯誤
}
或著直接在mssql內調式以上語句,這樣找到問題稍快一些