我与DBLIB PDO驱动程序有连接,并且我在连接时没有收到任何错误,但是当我运行查询时,会抛出异常并显示以下错误。我也玩过查询的语法。我正在连接到MS SQL服务器:
SQLSTATE[HY000]: General error: 208 General SQL Server error: Check messages from the SQL Server [208] (severity 16) [SELECT PCO_INBOUNDLOG.PHONE FROM PCO_INBOUNDLOG]
代码:
$sql = "SELECT PCO_INBOUNDLOG.PHONE FROM PCO_INBOUNDLOG";
foreach($this->mssql->query($sql) as $row) {
print_r($row);
}
这是我第一次对MS SQL服务器进行查询,所以我的语法可能有误,有什么想法吗?
答案 0 :(得分:4)
首先,找出错误208的含义:
select * from sys.messages where message_id = 208
其次,检查FROM syntax(包括示例!)和object identifier rules。
第三,正确编写查询:
SELECT PHONE FROM PCO_INBOUNDLOG
或者,可能更好(因为包含模式名称是一种好习惯):
SELECT PHONE FROM dbo.PCO_INBOUNDLOG
甚至:
SELECT p.PHONE FROM dbo.PCO_INBOUNDLOG p