在Ubuntu上使用fetchAll()错误

时间:2014-12-16 09:18:25

标签: php sql-server ubuntu pdo

我正在尝试从远程MSSQL Server获取数据。我在Windows 7 64位专业版上使用WampServer。我的连接字符串如下:

$pdo = new PDO('sqlsrv:Server='.$host.';Database=' . $db, $user, $pass, 
               array(
                     PDO::ATTR_EMULATE_PREPARES => false,
                     PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
                    )
             );

我可以从本地计算机成功连接并使用此连接执行查询。然后我将我的源上传到运行在Ubuntu 14.04 TLS上的服务器。我得到 0-没有找到驱动程序错误。之后我搜索到这个连接字符串对Ubuntu无效。我已将其更新为

 $pdo = new PDO('odbc:Driver=freetds; Server=1.2.3.4; Port=1433; Database=myDB; UID=myUser; PWD=myPass;');

经过一些配置后,我可以成功连接到数据库而没有错误。但在查询之后我尝试使用PDO的fetchAll()方法我得到以下错误:

  

PHP致命错误:在非对象

上调用成员函数fetchAll()

代码与我一直使用的相同。我认为这是因为连接。但我不知道下一步该做什么?

编辑:

我可以在本地计算机上运行此脚本,没有错误。但它不适用于Ubuntu。

0 个答案:

没有答案