当我执行此代码时:print_r(PDO::getAvailableDrivers()); 它说我有odbc可用的驱动程序。Array ( [0] => mysql [1] => odbc [2] => sqlite )但是,当我尝试像这样使用它时:$handle = new PDO("odbc:Server=dbServerIpAddress,myportnumber;Database=mydatabase", "myusername", 'mypassword');它什么也没做-没有错误,也根本不起作用。它甚至不会执行到该行!如何通过PDO和ODBC将PHP连接到此MSSQL数据库?
3 回答
一只甜甜圈
TA贡献1836条经验 获得超5个赞
接受的答案在实际的PHP调用之前都是正确的。正如有人正确评论的那样,它应该调用odbc驱动程序。其次,它不使用在odbc.ini中配置的数据源名称(DSN),但实际上是在创建临时DSN。代替:
$pdo = new PDO("odbc:mssql", "$dbuser","$dbpwd");
其中,mssql指向odbc.ini中的DSN对象
您可以按如下方式创建临时DSN:
$pd = new PDO('odbc:DRIVER=FreeTDS;SERVERNAME=mssql;DATABASE=' . $dbName,
$dbuser, $dbpass);
其中MSSQL现指服务器对象freetds.conf和freetds的驱动程序对象ODBCINST.INI
(这实际上应该是评论,但我没有代表点)。
- 3 回答
- 0 关注
- 760 浏览
添加回答
举报
0/150
提交
取消