Thinkphp5下如何使用odbc連接sqlserver
[重要通告]如您遇疑難雜癥,本站支持知識付費業務,掃右邊二維碼加博主微信,可節省您寶貴時間哦!
在PHP中訪問mssql有兩個方式
1.安裝相應的驅動,如sqlsrv
2.直接使用PHP自帶的ODBC驅動(不需要安裝)
本文直接使用自帶的ODBC驅動
在使用前請確定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;//導入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驅動時無法使用,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來處理數據庫
1.數據庫配置 database.php
<?php return [ // 數據庫類型 'type' => 'Sqlsrv', //必須輸入<br> // 用戶名 'username' => 'username', // 密碼 'password' => 'pwd', // 連接dsn,驅動、服務器地址和端口、數據庫名稱 '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; //必須先導入db類,否則不能使用 class login { public function index(){ $user = Db::table('Users')->where('userid',1)->select(); print_r($user); } }
在PHP中默認中已經配置了pdo的mysql、sqlite、sqlsrv等數據庫驅動的,一般情況下我們可以直接使用即可
所以推薦使用PDO方式而不是ODBC(ODBC需要單獨安裝驅動)
$dbDB = new PDO("sqlsrv:Server=$hostname;Database=$dbname", $username, $password);
問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!
賞
支付寶贊助
微信贊助
免責聲明,若由于商用引起版權糾紛,一切責任均由使用者承擔。
您必須遵守我們的協議,如您下載該資源,行為將被視為對《免責聲明》全部內容的認可->聯系老梁投訴資源 LaoLiang.Net部分資源來自互聯網收集,僅供用于學習和交流,請勿用于商業用途。如有侵權、不妥之處,請聯系站長并出示版權證明以便刪除。
敬請諒解! 侵權刪帖/違法舉報/投稿等事物聯系郵箱:service@laoliang.net
意在交流學習,歡迎贊賞評論,如有謬誤,請聯系指正;轉載請注明出處: » Thinkphp5下如何使用odbc連接sqlserver