本文實(shí)例講述了PHP連接SQL Server的方法。分享給大家供大家參考,具體如下:
之前我們實(shí)現(xiàn)了用thinkPHP5.1框架搭配的項(xiàng)目,實(shí)現(xiàn)了thinkPHP5.1與本機(jī)sql server 2008 R2的連接,并且把數(shù)據(jù)內(nèi)容顯示在頁(yè)面上。
本機(jī)的使用工具:1、編譯工具PhpStorm
2、WampServer 集成工具(Apache 2.4.33;PHP 7.0.29)
在連接過(guò)程中,有兩種方法可以連接。
第一種(用到ThinkPHP框架的,配置微軟自帶的驅(qū)動(dòng)):
先把tp5的項(xiàng)目放在wamp目錄下的www里面
利用微軟提供的PHP與SQL Server 驅(qū)動(dòng)包
地址:https://www.microsoft.com/en-us/download/details.aspx?id=20098
下載:SQLSRV40.EXE(根據(jù)PHP對(duì)應(yīng)的版本下載對(duì)應(yīng)的驅(qū)動(dòng))
下載完成解壓后選擇相對(duì)應(yīng)的PHP版本信息,如:本機(jī)的PHP是 7.0.29版本,線(xiàn)程安全,64位。
選擇以下文件:
php_pdo_sqlsrv_7_ts_x64.dll
php_sqlsrv_7_ts_x64.dll
將其
放置
X:\wamp\bin\php\php7.0.29\ext
然后進(jìn)入Apache修改php.in配置文件
X:\wamp\bin\apache\apache2.4.33\bin
在extension=php_gd2.dll和extension=php_gettext.dll之間添加
extension=php_gd2.dll
extension=php_sqlsrv_7_ts_x86.dll
extension=php_pdo_sqlsrv_7_ts_x86.dll
extension=php_gettext.dll
之后重啟Apache服務(wù)器。
用PhpStorm打開(kāi)tp5項(xiàng)目,在index模版下創(chuàng)建一個(gè)config文件再創(chuàng)建database.php配置數(shù)據(jù)庫(kù),可以參考app應(yīng)用目錄下的database.php格式,將其復(fù)制在index下config的database.php,一般修改數(shù)據(jù)庫(kù)類(lèi)型,數(shù)據(jù)庫(kù),用戶(hù)名,密碼。
接著在controller控制器下建立一個(gè)test.class.php文件,代碼如下
?php namespace app\index\controller; use think\Db; use think\Controller; class Test extends Controller { public function zz(){ $data= Db::query('SELECT top 100 * FROM V_XZ_SPZD_KC'); var_dump($data); } }
最后調(diào)用入口文件即可訪(fǎng)問(wèn)。
http://localhost:81/1111/tp5/public/index/test/zz
這種方法也可以用pdo_odbc方法連接sqlserver(配合thinkPHP框架)
第二種(不用到ThinkPHP框架):
*(上面的微軟驅(qū)動(dòng)數(shù)據(jù)庫(kù)的方法,不用thinkPHP也是可以連接的)
用PDO_odbc來(lái)連接SQL Server 數(shù)據(jù)庫(kù):
進(jìn)入Apache修改php.in配置文件
X:\wamp\bin\apache\apache2.4.33\bin
將extension=php_pdo_odbc.dll
前面的冒號(hào)去掉,開(kāi)啟這個(gè)服務(wù),重啟Apache服務(wù)器。
在www目錄下創(chuàng)建一個(gè)test.php文件
代碼如下:
?php header("Content-type: text/html; charset=gbk");//使頁(yè)面不會(huì)亂碼 $hostname='192.168.1.215'; $dbname='ZD'; $username='Reader'; $password='TestReader'; //使用PDO_ODBC方式連接 $dbDB = new PDO("odbc:Driver={SQL Server};Server=$hostname;Database=$dbname", $username, $password); $sql = "SELECT top 100 * FROM V_DY_SPZD"; foreach ($dbDB->query($sql) as $row) { var_dump($row); //print_r($row); } exit;
最后調(diào)用入口文件即可訪(fǎng)問(wèn)。
http://localhost:81/test.php即可訪(fǎng)問(wèn)
這些方法要注意的是:需要了解thinkPHP5.1的DB類(lèi)的使用語(yǔ)句。根據(jù)不同的項(xiàng)目要求可以組建不同的連接方法。
更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《ThinkPHP入門(mén)教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門(mén)教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門(mén)教程》及《PHP模板技術(shù)總結(jié)》。
希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。
標(biāo)簽:昭通 十堰 遼陽(yáng) 韶關(guān) 涼山 九江 梅河口 甘肅
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP連接SQL Server的方法分析【基于thinkPHP5.1框架】》,本文關(guān)鍵詞 PHP,連接,SQL,Server,的,方法,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。