2013-11-20 71 views
0

我有一個查詢在MS Access中保存並直接從ms訪問啓動時工作。在PHP中的MS Access查詢返回沒有結果

我創建了一個php頁面,通過調用該查詢的名稱輸出該信息,但查詢不返回任何內容! 我的代碼應該可以工作,因爲在我調用的Access中有其他查詢,並且它們返回數據。

  • 查詢工作類型和PHP執行時的訪問
  • 查詢不返回結果展開(雙擊)時"SELECT * see query below"
  • 查詢時由MS接入的名字從PHP "SELECT * FROM Query1"稱爲不返回結果
  • 在同一數據庫中的其他查詢時,通過MS接入的名字從PHP "SELECT * FROM Query2"

稱爲按預期執行

SELECT * 
FROM (SELECT a2.[vendor_oel_yr], 
       Count(a2.qty) AS eol_qty 
     FROM (SELECT "wintel"        AS Platform, 
         s.city & "," & s.state    AS 
         [Physical Location], 
         ""          AS 
         [Special Flag (Project)], 
         ""          AS 
         [Special Flag (sub location)], 
         ""          AS 
         [location Floor], 
         ""          AS 
         [Room Discriptor], 
         Format(s.unitprce, "currency")   AS [Unit Price], 
         "hp"         AS Manufacturer, 
         t.make_model       AS Model, 
         s.itemnmbr        AS [Part Number], 
         s.qty         AS Qty, 
         s.itemdesc        AS Description, 
         s.sn         AS [Serial Number] 
         , 
         "" 
         AS [Asset Tag #], 
         ""          AS Environment, 
         t.computer        AS 
           [Device Name (Naming Standard)], 
         s.docdate        AS [Install Date], 
         4          AS 
         [Vendor Useful Life], 
         ""          AS 
         [Operational Useful Life], 
         s.docdate + (4 * 365)    AS 
         [Vendor EOL Date], 
         ""          AS 
         [Operational EOL Date] 
         , 
         Format(s.qty * s.unitprce, "currency") AS 
         [Purchase Price], 
         Year(s.docdate + (4 * 365))   AS Vendor_OEL_Yr 
       FROM sayers_invoice AS s 
         INNER JOIN tamit_wintel AS t 
           ON s.sn = t.serial_number 
       WHERE Len(s.sn) > 0) AS a2 
     GROUP BY a2.[vendor_oel_yr]) AS a2O; 
+0

做了什麼調試?檢查數據庫調用在PHP中的返回值? –

+0

我有多個調用多個查詢(同一個數據庫)。他們都從PHP工作。唯一的例外是這個查詢 - 它在MS Access中調用時起作用 – Andrew

+0

您是否嘗試過直接對訪問執行結果查詢? – Babblo

回答

0

似乎像複雜的查詢提出了這個問題。 我不得不優化查詢,然後它工作。