如果代码被执行,则显示错误:
检查与您的MySQL服务器版本对应的手册,以便在'ORDER BY ID DESC limit 1'附近使用正确的语法
如下例所示:
$prevquery = "SELECT * FROM $tbl_name WHERE ID < $ID ORDER BY ID DESC limit 1";
$prevresult= mysql_query($prevquery) or die(mysql_error());
while($prevrow = mysql_fetch_row($prevresult))
{
displaying the previous ID:-
$prevID = $prevrow['ID'];
}
应该怎样做才能防止这种情况发生?
答案 0 :(得分:1)
试试这个
$prevquery = "SELECT * FROM $tbl_name WHERE ID < '$ID' ORDER BY ID DESC limit 1";
如果这不起作用,则回显查询并在mysql phpmyadmin面板中运行
echo $prevquery = "SELECT * FROM $tbl_name WHERE ID < '$ID' ORDER BY ID DESC limit 1";
答案 1 :(得分:0)
这应该有效
$ prevquery =&#34; SELECT * FROM $ tbl_name WHERE ID&lt; &#39; $ ID&#39; ORDER BY ID DESC限制1&#34 ;;
$ prevresult = mysql_query($ prevquery)或die(mysql_error());
while($ prevrow = mysql_fetch_row($ prevresult)) {
显示以前的ID: - $ prevID = $ prevrow [&#39; ID&#39;]; }
答案 2 :(得分:0)
另外请注意,每当我看到表格的一般错误时......
查看与您的MySQL服务器版本对应的手册 在'ORDER BY ID DESC limit 1'附近使用正确的语法
看起来“近”的提示几乎总是指向错误消息中显示的单引号字符串开始之前的sql语句中的问题。
因此,在这种情况下,错误引用从'ORDER BY'开始的sql字符串,该字符串后面紧跟$ ID。我敢打赌$ ID未定义(并且最终在你的sql字符串中是空白的),或者$ ID不是正确的数据类型。
无论哪种方式,正如其他人建议您需要回显或记录您的sql字符串以查看实际被查询的内容。
答案 3 :(得分:0)
您无法使用LIMIT用户“在哪里”。而是使用ORDER by id desc LIMIT 1