我尝试使用PDO和dblib驱动程序运行一个非常简单的测试查询,以从远程MSSQL服务器获取数据。测试查询是:
SELECT * FROM product WHERE part = 'ABC123'
当我在Chrome中加载页面时,我几乎立即收到一条消息:"没有收到数据"错误代码为ERR_EMPTY_RESPONSE。将其加载到FireFox中会产生相同的结果,但会显示以下消息:"连接已重置"。
我尝试过使用mssql_query而不是PDO,它运行得很好,所以我认为这对我的PDO连接代码来说一定是个问题。我用来连接的代码是:
new PDO("dblib:host=xxx.xxx.xxx.xxx:1433;dbname=xxxx","user","pass",
array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC));
让我感到困惑的是,PDO代码连接到数据库很好,当我运行查询时:
SELECT ID,partNumber,description FROM product WHERE part ='ABC123'
它按预期工作,我没有像以前那样得到任何响应/连接错误。
我花了好几个小时搜索Google,但无法找到我收到这些错误的原因。
有没有人有解决方案或任何想法导致此问题?我想使用PDO代替mssql_query
,因为我想使用PDO的功能,但目前mssql_query
似乎是我唯一的选择。