$conn=odbc_connect('mydatabase','','');
$sql="SELECT
Orders.OrderID,
Orders.OrderDate,
\"Order Details\".OrderID,
\"Order Details\".UnitPrice,
\"Order Details\".Quantity,
\"Order Details\".Discount,
FROM
\"Order Details\"
INNER JOIN
Orders
ON \"Order Details\".OrderID = Orders.OrderID";
$rs=odbc_exec($conn,$sql) or die("<p>".odbc_errormsg());
while (($row = odbc_fetch_array($rs)) !== false)
当我尝试输出 $rs 的结果时,没有返回任何内容。如果我尝试分别从 Orders 或“Order Details”访问字段,它工作正常,但如果我尝试 JOIN 两个表,它什么也不输出。
这是在使用 MSSQL 时从名称中有空格的表中选择字段的正确方法吗?当我尝试 "SELECT * FROM \"Order Details\"" 时,它似乎有效,但是当我尝试加入表时,我必须指定 "\Order Details\".OrderID,我认为这可能是它变得混乱的地方。
Apache 错误日志返回一个奇怪的“odbc_fetch_array(): No tuples available at this result”消息,但我不肯定这是实际问题,因为我看到此错误消息出于不相关的原因随机弹出。尽管如此,我还是不太明白,所以我想我应该提一下。
谢谢!