为什么我的SQL不起作用?

Pav*_*lli 3 php mysql

我一直收到这个错误:

您的SQL语法有错误; 检查与您的MySQL服务器版本对应的手册,以便在第1行的"食物"附近使用正确的语法ORDER BY'id''

我如何解决它?

<?php
require '113-connect-db.php';  
$query = "SELECT * FROM 'food' ORDER BY 'id'";

if ($query_run = mysql_query($query)){
echo 'query successful';

} else {
echo mysql_error();
}
?>
Run Code Online (Sandbox Code Playgroud)

Dan*_*n J 6

如果要将查询中的表/列名称转义为MySQL,则需要使用反引号,而不是撇号.撇号用于表示字符串文字.

而不是这个:

SELECT * FROM 'food' ORDER BY 'id'
Run Code Online (Sandbox Code Playgroud)

你会用这个:

SELECT * FROM `food` ORDER BY `id`
Run Code Online (Sandbox Code Playgroud)

但是,事实上,这是一个转义序列,只有那些也是MySQL 关键字的标识符才需要,否则会使解析器混乱.您显示的查询可以在没有它们的情况下编写.