慕村9548890
2019-11-14 14:25:35
當(dāng)我執(zhí)行此代碼時(shí):print_r(PDO::getAvailableDrivers()); 它說我有odbc可用的驅(qū)動(dòng)程序。Array ( [0] => mysql [1] => odbc [2] => sqlite )但是,當(dāng)我嘗試像這樣使用它時(shí):$handle = new PDO("odbc:Server=dbServerIpAddress,myportnumber;Database=mydatabase", "myusername", 'mypassword');它什么也沒做-沒有錯(cuò)誤,也根本不起作用。它甚至不會(huì)執(zhí)行到該行!如何通過PDO和ODBC將PHP連接到此MSSQL數(shù)據(jù)庫?
3 回答

一只甜甜圈
TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超5個(gè)贊
接受的答案在實(shí)際的PHP調(diào)用之前都是正確的。正如有人正確評(píng)論的那樣,它應(yīng)該調(diào)用odbc驅(qū)動(dòng)程序。其次,它不使用在odbc.ini中配置的數(shù)據(jù)源名稱(DSN),但實(shí)際上是在創(chuàng)建臨時(shí)DSN。代替:
$pdo = new PDO("odbc:mssql", "$dbuser","$dbpwd");
其中,mssql指向odbc.ini中的DSN對(duì)象
您可以按如下方式創(chuàng)建臨時(shí)DSN:
$pd = new PDO('odbc:DRIVER=FreeTDS;SERVERNAME=mssql;DATABASE=' . $dbName,
$dbuser, $dbpass);
其中MSSQL現(xiàn)指服務(wù)器對(duì)象freetds.conf和freetds的驅(qū)動(dòng)程序?qū)ο驩DBCINST.INI
(這實(shí)際上應(yīng)該是評(píng)論,但我沒有代表點(diǎn))。
- 3 回答
- 0 關(guān)注
- 804 瀏覽
添加回答
舉報(bào)
0/150
提交
取消