PHP + MSSQL JOIN两个表什么都没输出 - “No tuples”

时间:2012-07-04 15:06:20

标签: php sql-server join tuples

$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():此结果没有可用的元组”消息,但我不肯定这是实际问题,因为我看到此错误消息随机弹出,原因无关。不过,我不太明白,所以我想提一下。

谢谢!

1 个答案:

答案 0 :(得分:1)

不使用“/”,而是使用括号。

"SELECT Orders.OrderID, [Order Details].UnitPrice 
 FROM [Order Details] INNER JOIN Orders ON [Order Details].OrderID = Orders.OrderID"