php - 为什么我的 SQL 不起作用?

标签 php 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 ''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/

相关文章:

php - mysql排序规则和索引

php - 获取选中复选框的ID

javascript - 带有 PHP 和 MySQL 自动完成功能的 jQuery 无法工作

mysql - 远程访问 MysqlDB

python - Django MySQL 数据库传递数据库查询时出错

python - PySQLPool 和 Celery,正确的使用方法?

php - WordPress:自定义帖子类型和自定义字段的高级搜索

php - Php 中的多子数组

php - cakephp 与 order by 的匹配不起作用

php - 如何在 PHP/MYSQL 中将两个 mysql 查询作为一个执行?