phpmssql
hp連接mssql資料庫有幾個注意事項,尤其mssql的多個版本、32位、64位都有區別。
首先,php.ini文件中;extension=php_pdo_mssql.dll ;extension=php_pdo_odbc.dll 前面的分號去掉,對應的使哪種方式連接mssql。注意要重啟服務使其生效。
一、建立連接
1、odbc
首先,在php程序所在的伺服器設置odbc。這里32位和64位操作系統有區別。32位的從控制面板中管理工具中的數據源(odbc)直接建立就可以了,64位的要運行C:\Windows\SysWOW64\odbcad32.exe
從這裡面設置。注意:上面只的是資料庫伺服器為32為的,數據源設置伺服器為32位和64位兩種的情況。只要兩個伺服器建立的數據源位數一致就好。
下面是odbc建立連接代碼。
$con = odbc_connect('odbc名稱','用戶名','密碼');
2、連接mssql2000
$con = mssql_connect('資料庫地址','用戶名','密碼');
3、連接mssql2008
$connectionInfo = array("UID"=>用戶名,"PWD"=>密碼,"Database"=>"資料庫名稱");
$con = sqlsrv_connect( 資料庫地址,$connectionInfo);
二、輸入查詢代碼
這個都一樣,可以直接寫入,也可以從mssql中驗證好後復制過來。簡單點說就是把一個sql語句賦值給一個變數。
類似下面代碼
$query = "SELECT top 12 * 資料庫名稱 order by id desc";
三、建立查詢並取出數據
1、odbc
$result = odbc_do($con,$query);
while(odbc_fetch_row($result))
{
$變數名稱 = odbc_result($result, "欄位名稱");
}
2、連接mssql2000
$result = mssql_query($con, $query);
while($row =mssql_fetch_array($result))
{
$變數名稱 = $row["欄位名稱"];
}
3、連接mssql2008
$result = sqlsrv_query($con, $query);
while($row = sqlsrv_fetch_array($result))
{
$變數名稱 = $row["欄位名稱"];
}
在php5.3及以後的版本中不附帶sqlsrv庫了。所以要從微軟這里下載。
四、關閉連接
這個沒有什麼區別,分別是odbc_close();和mssql_close()和sqlsrv_close();
② php連接mssql的方法 怎樣實現php連接mssql
php不論是連接什麼資料庫,得首先保證在php.ini中相關資料庫的擴展是打開的,如
;extension
=
mysql
得把前面的;去掉才表明mysql資料庫的擴展打開了,才能使用,ms
sql也同理。
1。php連接mssql
$conn=mssql_connect("實例名或者伺服器ip","用戶名","密碼");
2。php連接mysql
$conn=mysql_connect("實例名或者伺服器ip","用戶名","密碼");
從連接中,你也可以看出來,其實不論php和什麼資料庫相連,差別都很小,只是函數名上的差別,如果你進一步使用的話,你也可以發現對資料庫的修改、手稿、更新等操作也只是函數名的差別,通一通百。
③ 怎麼讓php支持MSSQL
PHP 查看是否支持MSSQL的方法:
檢測是否存在mssql_connect函數;
<?php
if (function_exists("mssql_connect")){
echo 'PHP環境支持MSSQL!';
}else{
echo '環境不支持MSSQL資料庫!';
}
查看phpinfo中mssql配置項是否開啟,如果存在mssql配置項,則支持;否則,不支持。;
配置php連接mssql:
開啟mssql擴展;打開php.ini配置文件,去掉extension=php_pdo_mssql.dll和extension=php_mssql.dll前面的「;」然後重啟apache伺服器;
將PHP目錄下ext目錄下的php_mssql.dll和ntwdblib.dll,復制到WINDOWS/system32文件夾下,然後重啟apache即可。
④ PHP如何連接mssql一個實例
你的寫法沒問題,不過可以試試指定埠((local)abc,1433)
另外,連接不上有錯誤信息嗎?錯誤信息發出來看看
我試了下,php連接sqlsrv除了安裝sqlsrv的擴展外還需要安裝 odbc驅動 ,在微軟sqlsrv for php 有介紹 ,根據你下載的 sqlsrv擴展版本安裝 odbc驅動
⑤ php 連接 mssql server 配置
function connect(){
$this->LinkID = @mssql_pconnect($this->Server,$this->UserName,$this->Password);
if(!$this->LinkID){
$this->halt("mssql_pconnect($this->Server,$this->UserName,$this->Password): Failed");
return 0;
}
if(Database">!@mssql_select_db($this->Database)){
$this->halt("mssql_select_db($this->Database) Failed.");
return 0;
}
return 1;
}
注意你的PHP.ini里的 php_mssql.dll前面的分號去除
⑥ 查看PHP是否支持mssql
看看有沒有mssql這一項.如果有就說明支持,如果沒有可以手動在php.ini裡面開啟.
⑦ PHP 連接mssql資料庫獲得返回值問題
$res=mssql_query("select key from student where idt='id'",$conn);
$key=array();
while ($row=mssql_fetch_array($res)){
$key[]=$row; //把欄位值放入數組中
}
⑧ php+mssql 和 php+mysql 優點缺點
一、PHP+MySql
優點:
1) MySql是一個快速、多線程、多用戶的SQL資料庫伺服器。
2) MySql的核心程序採用完全的多線程編程。
3)MySql可運行在不同的操作系統下。
4) MySql有一個非常靈活而且安全的許可權和口令系統。
5) MySql支持ODBC for Windows。
6)MySql支持大型的資料庫。
7) MySql擁有一個非常快速而且穩定的基於線程的內存分配系統,可以持續使用面不必擔心其穩定性。
8) 強大的查詢功能。
9)PHP為MySql提供了強力支持,PHP中提供了一整套的MySql函數,對MySql進行了全方位的支持。
缺點:
比較的難學;
MySQL不完全支持陌生的關鍵詞;
MySQL也缺乏一些存儲程序的功能;
使用預設的ip埠,但是有時候這些ip也會被一些黑客闖入;
使用myisam配置,如果你不慎損壞資料庫,結果可能會導致所有的數據丟失;
二、PHP+MsSql
優點:
上手容易; 兼容性良好; 利於構築"敏捷性商務";
缺點:
只能在windows 上運行,沒有絲毫的開放性,操作系統的系統的穩定對資料庫是十分重要的。
並行實施和共存模型並不成熟。很難處理日益增多的用戶數和數據卷。伸縮性有限;
安全性方面,沒有獲得任何安全證書;
客戶端支持及應用模式 ,是C/S結構,只支持windows客戶,可以用ADO, DAO,OLEDB,
ODBC連接;
不是免費的;
數據不容易恢復;
⑨ PHP+MSSQL 和 PHP+MYSQL那個好
就好比我們組裝電腦一樣,經過不斷的組裝調試,最後會有一款性價比較好的配置出來。PHP也一樣,它和mysql組合已經是最具性價比和效率的網站開發組合了。
⑩ 如何用PHP連接MSSQL資料庫
windows下面nbsp;nbsp;要安裝mssql或者,mssql客戶端nbsp;nbsp;安裝以後檢查在你的系統目錄下面是不是有ntwdblib.dll文件,如果有請繼續(一般安裝了mssql都會有);nbsp;nbsp;然後啟動mssql資料庫服務nbsp;nbsp;1:在php.ini文件里設置如下,找到nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;;extension=php_mssql.dllnbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;把前面的分號去掉。2:找到extension_dirnbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;=nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;d:extensionnbsp;nbsp;你的php.ini裡面可能不是d:extensionnbsp;nbsp;改成在php安裝目錄下面的extensions目錄下面的php_mssql.dll,所在的路徑,如果你沒有把它移動到其他地方(假設你的php安裝路徑是d:php)nbsp;nbsp;就改成extension_dir=d:phpextensionsnbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; 3:把ntwdblib.dll拷貝到c:winntsystem32目錄下。 ntwdblib.dll的主要作用是提供sqlnbsp;server連接服務。nbsp; 我用的php版本是4.3.9,在安裝它的服器的nbsp;windows/system32/nbsp;下我查到ntwdblib.dll文件的版本是2000.2.8.0nbsp;,這個版本支持的是sqlnbsp;servernbsp;7.0,nbsp;因為安裝PHP時會把dlls下面的所有文件覆蓋到系統nbsp;目錄下,所以當我用它去連接nbsp;sqlnbsp;servernbsp;2000nbsp;的時候當然會是無法連接了。nbsp; 後來我在一台正常安裝sqlnbsp;servernbsp;2000nbsp;的伺服器上查到nbsp;ntwdblib.dll的版本是nbsp;2000.80.2039.0,sql2000的ntdblib.dll文件拷貝過來覆蓋到本機的windows/system32下,重啟伺服器後,一切正常。nbsp; 補充:如果資料庫名的開頭是數字時也會提示無法打開,這時要做的很簡單,把資料庫的名字用中括弧nbsp;[nbsp;]nbsp;括起來就搞定了,如nbsp;123bBSnbsp;改寫成nbsp;[123bBS]就沒有問題了,另外如果你的資料庫名字與sqlnbsp;server中的保留字沖突的話也會出現這種情況,用中括弧的方法一樣可以解決。nbsp; 然後重新啟動web伺服器,假設你的mssql安裝在本機上就可以用下面的測試nbsp;。nbsp;lt;?phpnbsp;nbsp;$con=mssql_connect(「localhost「,「user「,「password「);nbsp;nbsp;echonbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;「lt;brgt;連接成功「;nbsp;nbsp;elsenbsp;nbsp;echonbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;「連接失敗「;nbsp;nbsp;?gt;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; 祝你好運nbsp;nbsp;可以把localhost改成你安裝mssql的機器名稱nbsp;。