2011-04-02 166 views
0

我收到这个语法错误SQL语法错误

你在你的SQL语法错误; 检查对应 你的MySQL服务器版本使用附近的“降序”

从这个代码

$insert_status=mysql_query("INSERT INTO status(status, date) VALUES 
          ('$status','$date')") or die (mysql_error()); 
$get_status= mysql_query("SELECT * FROM status WHERE id DESC") 
       or die (mysql_error()); 
while($row=mysql_fetch_array($get_status)){ 
    $status=$row['status']; 
    $date=$row['date']; 
} 

MySQL版本是5.0.91社区

的 正确的语法手册

我该如何解决这个小问题?在此先感谢

+0

什么是'id'?你的表模式是什么样的? – 2011-04-02 00:10:25

+0

嘿格雷格CREATE TABLE如果不存在'状态'( 'id' int(255)NOT NULL AUTO_INCREMENT, 'status' text NOT NULL, 'user' varchar(255)NOT NULL DEFAULT'', 'date' varchar(255)NOT NULL DEFAULT'', PRIMARY KEY('id') )ENGINE = MyISAM DEFAULT CHARSET = latin1 AUTO_INCREMENT = 31; – 2011-04-02 00:10:59

+0

这就像Facebook的基本外观一样Newsfeed,id是每个评论的id。 www.fightstar.org/test/wall.php – 2011-04-02 00:12:18

回答

2

WHERE ID DESC < - 你需要在你的where子句中的东西,你需要澄清你在订购什么。例如:

select * from status where id in (1,2,3,4) order by id desc; 
+0

比如1也许是1000?有没有更简单的方法,而不是添加每一个数量的可能和将要发布到'id'下的数据库? – 2011-04-02 00:14:14

+0

@David Draw:你甚至需要一个'where'子句吗? – 2011-04-02 00:16:35

+0

@大卫画 - 是的。您可以省略WHERE并使用'SELECT * FROM status ORDER BY id DESC LIMIT 100'来获取最高100个ID的记录。 – Galz 2011-04-02 00:17:18