本文實例講述了PHP連接SQL Server的方法。分享給大家供大家參考,具體如下:
之前我們實現(xiàn)了用thinkPHP5.1框架搭配的項目,實現(xiàn)了thinkPHP5.1與本機sql server 2008 R2的連接,并且把數(shù)據(jù)內(nèi)容顯示在頁面上。
本機的使用工具:1、編譯工具PhpStorm
2、WampServer 集成工具(Apache 2.4.33;PHP 7.0.29)
在連接過程中,有兩種方法可以連接。
第一種(用到ThinkPHP框架的,配置微軟自帶的驅(qū)動):
先把tp5的項目放在wamp目錄下的www里面
利用微軟提供的PHP與SQL Server 驅(qū)動包
地址:https://www.microsoft.com/en-us/download/details.aspx?id=20098
下載:SQLSRV40.EXE(根據(jù)PHP對應(yīng)的版本下載對應(yīng)的驅(qū)動)
下載完成解壓后選擇相對應(yīng)的PHP版本信息,如:本機的PHP是 7.0.29版本,線程安全,64位。
選擇以下文件:
php_pdo_sqlsrv_7_ts_x64.dll
php_sqlsrv_7_ts_x64.dll
將其
放置
X:/wamp/bin/php/php7.0.29/ext
然后進入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打開tp5項目,在index模版下創(chuàng)建一個config文件再創(chuàng)建database.php配置數(shù)據(jù)庫,可以參考app應(yīng)用目錄下的database.php格式,將其復(fù)制在index下config的database.php,一般修改數(shù)據(jù)庫類型,數(shù)據(jù)庫,用戶名,密碼。
接著在controller控制器下建立一個test.class.php文件,代碼如下
<?phpnamespace 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)用入口文件即可訪問。
http://localhost:81/1111/tp5/public/index/test/zz
這種方法也可以用pdo_odbc方法連接sqlserver(配合thinkPHP框架)
第二種(不用到ThinkPHP框架):
*(上面的微軟驅(qū)動數(shù)據(jù)庫的方法,不用thinkPHP也是可以連接的)
用PDO_odbc來連接SQL Server 數(shù)據(jù)庫:
進入Apache修改php.in配置文件
X:/wamp/bin/apache/apache2.4.33/bin
將extension=php_pdo_odbc.dll前面的冒號去掉,開啟這個服務(wù),重啟Apache服務(wù)器。
在www目錄下創(chuàng)建一個test.php文件
代碼如下:
<?phpheader("Content-type: text/html; charset=gbk");//使頁面不會亂碼$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)用入口文件即可訪問。
http://localhost:81/test.php即可訪問
這些方法要注意的是:需要了解thinkPHP5.1的DB類的使用語句。根據(jù)不同的項目要求可以組建不同的連接方法。
希望本文所述對大家基于ThinkPHP框架的PHP程序設(shè)計有所幫助。
新聞熱點
疑難解答
圖片精選