我一直收到这个错误:
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 ''food' ORDER BY 'id'' at line 1
我该如何解决?
<?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();
}
?>
最佳答案
如果您想在对 MySQL 的查询中转义表/列名,you need to use backticks , 不是撇号。撇号用于表示 string literals .
取而代之的是:
SELECT * FROM 'food' ORDER BY 'id'
你会用这个:
SELECT * FROM `food` ORDER BY `id`
但是,实际上,这是一个转义序列,仅对于同时也是 MySQL 关键字 的标识符才需要,否则会混淆解析器。您显示的查询可以在没有它们的情况下编写。
关于php - 为什么我的 SQL 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9026250/