php - MySQL:where子句错误中的未知列

标签 php mysql sql mysql-error-1054

我有一个 PHP 脚本,出于某种原因,mysql 一直将要选择/插入的值视为一列。这是我的 sql 查询的示例:

$query = mysql_query("SELECT * FROM tutorial.users WHERE (uname=`".mysql_real_escape_string($username)."`)") or die(mysql_error());

变成:

SELECT * FROM tutorial.users WHERE (uname=`test`)

错误是:

Unknown column 'test' in 'where clause'

我也试过:

SELECT * FROM tutorial.users WHERE uname=`test`

最佳答案

在 MySql 中,反引号表示标识符是列名。 (其他 RDBMS 为此使用方括号或双引号)。

所以您的查询是,“给我所有行,其中名为“uname”的列中的值等于名为“test”的列中的值”。但是由于您的表中没有名为 test 的列,因此您会看到错误。

用单引号替换反引号。

关于php - MySQL:where子句错误中的未知列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1480327/

相关文章:

mysql查询where和order by需要很长时间

mysql - 如何使用 MySQL 存储这种分层数据?

php - 如何使用 php 更新数据库?

Javascript:如何在 php 的 while 循环内编写 document.getElementsByClassName()

javascript - PHP $_GET 和下划线

php - 将 ORDER BY RAND() 与多个 WHERE 子句一起使用 mysql

php - 动态生成 W​​ordPress 短代码

php - Ninja 表单使用 SQL/PHP 填充选择

php - 从具有关系的数据库中检索数据

MySQL计算多个列/表的最大值