[重要通告]如您遇疑難雜癥,本站支持知識付費業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時間哦!

在PHP中訪問mssql有兩個方式
1.安裝相應(yīng)的驅(qū)動,如sqlsrv
2.直接使用PHP自帶的ODBC驅(qū)動(不需要安裝)
本文直接使用自帶的ODBC驅(qū)動
在使用前請確定PHP開啟了php_pdo_odbc擴展
?php
/*
* @Author: HUANGYUAN
* @Date: 2019-09-01 16:32:22
* @Last Modified by: service@06929.com
* @Last Modified time: 2019-09-01 17:53:53
* @Description: 使用odbc連接sqlserver,PHP必須開啟php_pdo_odbc擴展
*/
namespace app\index\controller;
use PDO;//導(dǎo)入PDO
class login
{

public function index(){

//以下三個mssqldriver,使用任意一個都可以
$mssqldriver = '{SQL Server}';

$mssqldriver = '{SQL Server Native Client 11.0}';

$mssqldriver = '{ODBC Driver 11 for SQL Server}';

$hostname='123.123.123.123,1414';

$dbname='dbname';

$username='user';

$password='pwd';

//使用ODBC方式連接
$dbDB = new PDO("odbc:Driver=$mssqldriver;Server=$hostname;Database=$dbname", $username, $password);
//沒有安裝sqlsrv驅(qū)動時無法使用,error:could not find driver
// $dbDB = new PDO("sqlsrv:Server=$hostname;Database=$dbname", $username, $password);

$sql = "SELECT * FROM Users";

foreach ($dbDB->query($sql) as $row) {
var_dump($row);
}
exit;
}
}

//$dbDB = new PDO("sqlsrv:Server=$hostname;Database=$dbname", $username, $password); 的錯誤信息

原因:可能是沒有安裝驅(qū)動sqlsrv,DOWNLOAD?Microsoft SQL Server Functions (PDO_SQLSRV)?

 

使用Thinkphp5的DB來處理數(shù)據(jù)庫

1.數(shù)據(jù)庫配置 database.php
<?php

return [
// 數(shù)據(jù)庫類型
'type' => 'Sqlsrv', //必須輸入<br>
// 用戶名
'username' => 'username',
// 密碼
'password' => 'pwd',

// 連接dsn,驅(qū)動、服務(wù)器地址和端口、數(shù)據(jù)庫名稱
'dsn' => 'odbc:Driver={SQL Server};Server=123.123.123.123,1414;Database=dbname',
];
2.控制器文件
?php
/*
* @Author:HUANGYUAN
* @Date: 2019-09-01 16:32:22
* @Last Modified by: huangyuan413026@163.com
* @Last Modified time: 2019-09-02 10:19:19
* @Description: 使用odbc連接到sqlserver,PHP必須開啟php_pdo_odbc擴展
*/
namespace app\index\controller;
use think\Db; //必須先導(dǎo)入db類,否則不能使用
class login
{
public function index(){
$user = Db::table('Users')->where('userid',1)->select();
print_r($user);
}
}
在PHP中默認中已經(jīng)配置了pdo的mysql、sqlite、sqlsrv等數(shù)據(jù)庫驅(qū)動的,一般情況下我們可以直接使用即可
所以推薦使用PDO方式而不是ODBC(ODBC需要單獨安裝驅(qū)動)
$dbDB = new PDO("sqlsrv:Server=$hostname;Database=$dbname", $username, $password);

問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信

所寫所說,是心之所感,思之所悟,行之所得;文當無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!

支付寶贊助
微信贊助

免責(zé)聲明,若由于商用引起版權(quán)糾紛,一切責(zé)任均由使用者承擔。

您必須遵守我們的協(xié)議,如您下載該資源,行為將被視為對《免責(zé)聲明》全部內(nèi)容的認可->聯(lián)系老梁投訴資源
LaoLiang.Net部分資源來自互聯(lián)網(wǎng)收集,僅供用于學(xué)習(xí)和交流,請勿用于商業(yè)用途。如有侵權(quán)、不妥之處,請聯(lián)系站長并出示版權(quán)證明以便刪除。 敬請諒解! 侵權(quán)刪帖/違法舉報/投稿等事物聯(lián)系郵箱:service@laoliang.net
意在交流學(xué)習(xí),歡迎贊賞評論,如有謬誤,請聯(lián)系指正;轉(zhuǎn)載請注明出處: » Thinkphp5下如何使用odbc連接sqlserver

發(fā)表回復(fù)

本站承接,網(wǎng)站推廣(SEM,SEO);軟件安裝與調(diào)試;服務(wù)器或網(wǎng)絡(luò)推薦及配置;APP開發(fā)與維護;網(wǎng)站開發(fā)修改及維護; 各財務(wù)軟件安裝調(diào)試及注冊服務(wù)(金蝶,用友,管家婆,速達,星宇等);同時也有客戶管理系統(tǒng),人力資源,超市POS,醫(yī)藥管理等;

立即查看 了解詳情