Thinkphp5下如何使用odbc連接sqlserver
[重要通告]如您遇疑難雜癥,本站支持知識付費業(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); 的錯誤信息
使用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