2010-03-09 101 views
1

這是一個查詢我使用PHP
的MySQL這樣做是查詢線我的MySql查詢有什麼問題?

<?php 
$query = "SELECT * FROM node WHERE type = 'student_report' AND uid = '{$uid}' LIMIT 1 ORDER BY created DESC"; 
?> 

我收到以下錯誤

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY created DESC' at line 1 
+2

你應該在使用SQL預處理語句的習慣查詢。 – 2010-03-09 02:42:33

回答

1

你不需要花括號周圍$uid

如果不解決這個問題,則嘗試將LIMIT子句order by條款,這是推薦方法之後。來源Mysql select syntax

+0

我刪除了大括號仍然得到相同的錯誤。實際上,如果我刪除$ uid並輸入一個數字,它就可以工作。但我需要使用變量 – Anytime 2010-03-09 02:43:17

+0

在運行查詢之前,您的$ uid看起來沒有正確填充。嘗試在查詢之前回顯$ uid的值,並確保它具有一些有意義的值。 – codaddict 2010-03-09 02:44:29

+0

$ uid的值爲15 – Anytime 2010-03-09 02:54:02

3

你需要最後有限制條款。

0

打印整個SQL查詢($query),不僅$uid,也是LIMIT條款後order by

1

您的查詢應該是:

$query = "SELECT * FROM node WHERE type = 'student_report' AND uid = $uid ORDER BY created DESC LIMIT 1";