php - 简单查询中的 MySQL 语法错误

标签 php mysql

我这里有一小段代码,我完全迷路了,因为我在第 1 行的 'unique = 'dD0231q' LIMIT 1' 附近遇到语法错误。这可能非常简单,但我似乎是盲人我自己的错误..

 $unique = $_GET["unique"];
 $results = $mysqli->query("SELECT * FROM written WHERE unique = '$unique' LIMIT 1

最佳答案

UNIQUE 是 MySQL 中的关键字。如果您想将它用作表列名,请将其用`(反引号)引号括起来,如下所示:

SELECT * FROM written WHERE `unique` = '$unique' LIMIT 1

此外,请不要只是将从用户那里收到的值直接放入查询中。 SQL注入(inject)就是这样发生的。而是使用 Prepared Statements .

关于php - 简单查询中的 MySQL 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28127752/

相关文章:

带有明细表和事务的 MySQL 存储过程

javascript - Codeigniter JQuery 日期选择器问题

php - 从 MYSQL 查询中排除一年

mysql - 全文搜索不适用于关键字 "one"

mysql - 子查询的连接等效项

mysql - 获取上周工作日的记录

javascript - 在新窗口上查看图像

php - cakephp - 如何构造此查询

php - 我们如何访问服务器中的文件 blob?

mysql - 选择所有带有 join by where 的表