PHP串連MSSQL2008/2005資料庫(SQLSRV)配置執行個體,mssql2008sqlsrv
本文執行個體講述了PHP串連MSSQL2008/2005資料庫(SQLSRV)配置方法,分享給大家供大家參考。具體方法如下:
PHP串連MSSQL2008/2005資料庫與以往的串連mssql2000是不一樣的,串連mssql2008/2005是需要自己添加PHP對MSSQL串連的驅動擴充了,而我們常用的hp.ini中的extension=php_mssql.dll擴充只適用串連於MSSQL2000,下面我們就來看看對此的解決辦法
1.下載擴充
(1)去官方下載一個SQL Server Driver for PHP的擴充包,我是在這裡下載的http://www.microsoft.com/en-us/download/details.aspx?id=20098【記得下載後好像是要先安裝然後再解壓】
(2)您也可以直接從本站下載(我之前下載的,來源於microsoft官方)【點擊此處直接下載】
將下載下來的rar檔案解壓後你就會得到一堆的.dll檔案
下載驅動程式,下載後安裝釋放程式,裡面有以下檔案:
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(讀我檔案)
2.添加擴充
根據(vc6/vc9)需要選擇擴充,我的環境是WAMP(php5.2.6/apache2.2.8),我選用的是php_sqlsrv_52_ts_vc6.dll,php_pdo_sqlsrv_52_ts_vc6.dll這兩個檔案,複製到wamp安裝目錄下的ext目錄下,我的ext目錄是在wamp/bin/php/php5.2.6/ext/
3.配置php.ini
(1)在php.ini的Dynamic Extensions中添加如下兩條擴充:
extension=php_sqlsrv_52_ts_vc6.dll
extension=php_pdo_sqlsrv_52_ts_vc6.dll
(2)將;extension=php_pdo.dll前面的;去掉,開啟pdo串連擴充
(3)重新啟動apache
4.串連資料庫(pdo串連)
複製代碼 代碼如下:<?php
$servern="SFKFK27EL8FJ\SQLTRY";
$coninfo=array("Database"=>"try2","UID"=>"sa","PWD"=>"123");
$conn=sqlsrv_connect($servern,$coninfo) or die ("串連失敗!");
$val=sqlsrv_query($conn,"select * from usertable");
while($row=sqlsrv_fetch_array($val)){
echo $row[1]."
";
}
sqlsrv_close($conn);
?>
5.例子
連結樣本:
mssql_lib.php檔案如下:
複製代碼 代碼如下:<?php
class DB {
var $con = null;
function __construct($dbhost,$dbuser,$dbpass,$dbname) {
$connectionInfo = array("UID"=>$dbuser,"PWD"=>$dbpass,"Database"=>$dbname);
$this->con = sqlsrv_connect($dbhost,$connectionInfo);
}
function query($sql){
$result = sqlsrv_query($this->con, $sql);
}
function getRow($sql){
$result = sqlsrv_query($this->con, $sql);
$arr = array();
while($row = sqlsrv_fetch_array($result))
{
$arr[] = $row;
}
return $arr[0];
}
function getAll($sql){
$result = sqlsrv_query($this->con, $sql);
$arr = array();
while($row = sqlsrv_fetch_array($result))
{
$arr[] = $row;
}
return $arr;
}
function __destruct() {
unset($con);
}
}
test.php頁面如下:
複製代碼 代碼如下://簡單調用
$db = new DB(DB_HOST, DB_USER, DB_PASS, DB_NAME);
$sql = "select * from crm_order_batch where (status=0 or status is null) and lock_id is not null ";
$orders_add_list = $db->getAll($sql);
希望本文所述對大家的PHP資料庫程式設計有所協助。
php串連mssql資料庫的幾種方法_php執行個體
注意要重啟服務使其生效。一、建立串連1、odbc首先,在php程式所在的伺服器設定odbc。這裡32位和64位作業系統有區別。32位的從控制台中管理工具中的資料來源(odbc)直接建立就可以了,64位的要運行C:WindowsSysWOW64odbcad32.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庫了。所以要從微軟這裡下載。四、關閉串連
php + ms sql server 2005 資料庫連接
Unable to connect to server 說是串連不到伺服器
加個連接埠號碼試試看
mssql_connect(‘localhost,1433′, USERNAME, PASSWORD);
如果還不行的話,看一下參考資料的文章
http://www.bkjia.com/PHPjc/897687.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/897687.htmlTechArticlePHP串連MSSQL2008/2005資料庫(SQLSRV)配置執行個體,mssql2008sqlsrv 本文執行個體講述了PHP串連MSSQL2008/2005資料庫(SQLSRV)配置方法,分享給大家供大家參考。具...