最終完善的PHP連接SQL Server的方法

2018-4-16~2018-4-19號總結


在上週中實現了用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 驅動包
下載: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);

}
}

最後調用入口文件即可訪問。
這種方法也可以用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類的使用語句。根據不同的項目要求可以組建不同的連接方法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章