2012-07-04 29 views
0
$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的結果時,沒有返回任何結果。如果我嘗試從訂單或「訂單詳細信息」單獨訪問字段它可以正常工作,但如果我嘗試加入兩個表,它什麼都不輸出。PHP + MSSQL JOIN兩個表輸出什麼都沒有 - 「沒有元組」

這是從使用MSSQL時名稱中有空格的表中選擇字段的正確方法嗎?它似乎工作時,我嘗試「選擇*從\」訂單詳細信息\「」但當我嘗試加入表中,我必須指定「\訂單詳細信息\」OrderID,我認爲這可能是它的困惑。

Apache錯誤日誌返回一個奇怪的「odbc_fetch_array():在這個結果沒有可用的元組」消息,但我不積極這是實際問題,因爲我看到這個錯誤消息隨機彈出隨機無關的原因。儘管如此,我還是不太明白這一點,所以認爲我應該提及它。

謝謝!

+0

將查詢直接放入數據庫會發生什麼? –

回答

1

而不是使用「/」,使用括號。

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

感謝您的建議,但我試過方括號,行爲是一樣的。 – jessenorton

+0

是Orders.OrderID和[Order Details] .OrderID是否具有相同的數據類型? –

+0

一個是數字,另一個是根據Access的自動編號。這會導致問題嗎?我是PHP的新手,並假設它仍然將它們視爲相同。 – jessenorton

相關問題