MySQL无用的SQL语法错误

时间:2016-12-08 15:21:57

标签: php mysql mysqli forum

我的MySQL出现了另一个错误,如下所示:

    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 '' at line 1

我之前通过删除不必要的引号遇到了此错误,但这次似乎不是问题。我一直看到堆栈溢出问题,所以问题要么是因为不必要的引用,要么是非常独特的代码。如果有人可以帮助我或指出我有用的答案,我将不胜感激! :^]

代码:

    $sql = "SELECT(sect_id, sect_name, sect_desc)FROM sections WHERE sect_id = " . mysqli_real_escape_string($con,$_GET["id"]);

$result = mysqli_query($con,$sql);

if(!$result)
{
echo 'The sections could not be displayed, please try again later.' . mysqli_error($con); 

1 个答案:

答案 0 :(得分:0)

此错误消息并非无益。你只需要习惯mysql报告错误的方式。

当报告的查询部分为空时,表示发生错误at the very end of the query

这意味着$_GET["id"]为空,产生错误的SQL语句

SELECT(sect_id, sect_name, sect_desc)FROM sections WHERE sect_id = 

要解决此问题,您应该始终使用预备语句

除了语法之外,预编译语句将修复您的查询基本上容易发生的 sql注入

此外,出现的下一个错误是字段列表的错误语法,应从中删除大括号。