$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的结果时,没有任何返回。如果我尝试分别访问订单或"订单详细信息"中的字段,它可以正常工作,但如果我尝试连接两个表,它不会输出任何内容。
这是使用 MSSQL 时从名称中包含空格的表中选择字段的正确方法吗?当我尝试"从"订单详细信息"中选择* "时,它似乎有效,但是当我尝试连接表时,我必须指定"''订单详细信息"。OrderID和我认为这可能是它变得混乱的地方。
Apache 错误日志返回一个奇怪的"odbc_fetch_array():此结果没有可用的元组"消息,但我并不肯定这是实际问题,因为我看到此错误消息由于不相关的原因随机弹出。不过,我不太明白,所以认为我应该提到它。
谢谢!
不要使用"/",而是使用括号。
"SELECT Orders.OrderID, [Order Details].UnitPrice
FROM [Order Details] INNER JOIN Orders ON [Order Details].OrderID = Orders.OrderID"