$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 \”中的字段,它可以正常工作,但如果我尝试加入这两个表,它就不会输出任何内容。
这是从使用MSSQL时名称中有空格的表中选择字段的正确方法吗?当我尝试“SELECT * FROM \”Order Details \“”时,它似乎有效,但是当我尝试加入表时,我必须指定“\ Order Details”.QuickID和我认为可能会让它变得困惑。< / p>
Apache错误日志返回一个奇怪的“odbc_fetch_array():此结果没有可用的元组”消息,但我不肯定这是实际问题,因为我看到此错误消息随机弹出,原因无关。不过,我不太明白,所以我想提一下。
谢谢!
答案 0 :(得分:1)
不使用“/”,而是使用括号。
"SELECT Orders.OrderID, [Order Details].UnitPrice
FROM [Order Details] INNER JOIN Orders ON [Order Details].OrderID = Orders.OrderID"