這篇文章主要介紹了PHP連接SQL Server的方法,結合實例形式分析了基於thinkPHP5.1框架Db類以及使用PDO進行SQL Server數據庫連接的相關操作實現技巧,需要的朋友可以參考下
本文實例講述了PHP連接SQL Server的方法。分享給大家供大家參考,具體如下:
之前我們實現了用thinkPHP5.1框架搭配的項目,實現了thinkPHP5.1與本機sql server 2008 R2的連接,並且把數據內容顯示在頁面上。
本機的使用工具:1、編譯工具PhpStorm
2、WampServer 集成工具(Apache 2.4.33;PHP 7.0.29)
在連接過程中,有兩種方法可以連接。
第一種(用到ThinkPHP框架的,配置微軟自帶的驅動):
先把tp5的項目放在wamp目錄下的www裏面
利用微軟提供的PHP與SQL Server 驅動包
地址:https://www.microsoft.com/en-us/download/details.aspx?id=20098
下載:SQLSRV40.EXE(根據PHP對應的版本下載對應的驅動)
下載完成解壓後選擇相對應的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服務器。
用PhpStorm打開tp5項目,在index模版下創建一個config文件再創建database.php配置數據庫,可以參考app應用目錄下的database.php格式,將其複製在index下config的database.php,一般修改數據庫類型,數據庫,用戶名,密碼。
接着在controller控制器下建立一個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); } }
最後調用入口文件即可訪問。
http://localhost:81/1111/tp5/public/index/test/zz
這種方法也可以用pdo_odbc方法連接sqlserver(配合thinkPHP框架)
第二種(不用到ThinkPHP框架):
*(上面的微軟驅動數據庫的方法,不用thinkPHP也是可以連接的)
用PDO_odbc來連接SQL Server 數據庫:
進入Apache修改php.in配置文件
X:\wamp\bin\apache\apache2.4.33\bin
將extension=php_pdo_odbc.dll
前面的冒號去掉,開啓這個服務,重啓Apache服務器。
在www目錄下創建一個test.php文件
代碼如下:
<?php header("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;
最後調用入口文件即可訪問。
http://localhost:81/test.php即可訪問
這些方法要注意的是:需要了解thinkPHP5.1的DB類的使用語句。根據不同的項目要求可以組建不同的連接方法。
更多關於thinkPHP相關內容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結》、《ThinkPHP常用方法總結》、《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術總結》。
希望本文所述對大家基於ThinkPHP框架的PHP程序設計有所幫助。