我有一个 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/