我的MySql查询有什么问题?

问题描述:

这是一个查询我使用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

你不需要花括号周围$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

你需要最后有限制条款。

打印整个SQL查询($query),不仅$uid,也是LIMIT条款后order by

您的查询应该是:

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