2013-03-28 94 views
0

我正在使用以下查詢來獲取有關學生的信息,他們設置的目標,連接的標準以及他們當前的標準。PHP - 查詢在本地但在服務器上不起作用

每個標準可以有多個等級,我想要最近的一個,所以我添加了一個子查詢來獲得最近的日期。

當我在XAMPP中測試它時,該代碼運行良好,但未加載到我的服務器上。數據庫是相同的,我不知道還有什麼可能是問題。

SELECT users.firstName, goals.goalgrade, 
standards.standard, goals.why, grades.grade         
FROM users 
    LEFT JOIN goals ON goals.userid = users.id 
    LEFT JOIN standards ON standards.id = goals.mid 
    LEFT JOIN grades ON grades.testId = standards.standard 
     AND grades.userId = users.id 
     AND grades.date = (SELECT date FROM grades ORDER BY date DESC LIMIT 1) 
WHERE users.teacherId = :teacherId 
AND users.block = :block 
ORDER BY $sortall 
+2

你有什麼錯誤? – MichaelRushton

+0

肯定會有不同的東西。你有什麼調查?你能夠獲得MySQL連接嗎?你有不同版本的PHP或MySQL嗎?你有不同的PHP擴展配置(即PDO或mysqli)嗎? –

+0

是的,我正在連接,所有其他查詢都正常工作。我沒有收到錯誤,查詢只是返回空。確切的代碼在當地運行良好。相同版本的PHP和MySQL。至於擴展,我所有的查詢都是PDO。 – RyanY

回答

0

可能的錯誤的:

的用戶名,服務器,本地主機上使用的密碼和/或數據庫是不一樣的,你現在正在使用您的服務器上!

你需要確保你已經創建了相同的用戶名,密碼,數據庫,表,字段等..

+0

對不起,沒有聲明,我已連接,所有其他查詢加載正常。我在godaddy上託管它的價值。 – RyanY

0

我解決了問題,想我會分享。與XAMPP子查詢是罰款日期由本身,而是服務器需要我補充我改變了表名:

grades.date = (SELECT date FROM grades ORDER BY date DESC LIMIT 1) 

要:

AND grades.date = (SELECT grades.date FROM grades ORDER BY grades.date DESC LIMIT 1) 

我的服務器說,這是運行MySQL 5.0,而XAMPP正在運行MySQL 5.1.44。不知道這是否會有所作爲,但它的工作。乾杯

相關問題