字段列表中的未知列与mysql错误

时间:2014-04-14 17:49:22

标签: php mysql

我做了

include_once'include/connection.php';
$fname = 'olo';
$lname = 'mike';
$uname = 'nolo';
$pass = 'mmmmm';



$query2 = "INSERT INTO imt.`$uname`
(fname, lname, pass) VALUES (`$fname`, `$lname`, `$pass`)";
$result2 = mysql_query($query2, $connection);
if(!$result2){echo mysql_error();}

var_dump($query2);

但得到了这个输出

Unknown column 'olo' in 'field list'
string 'INSERT INTO imt.`nolo`
(fname, lname, pass) VALUES (`olo`, `mike`, `mmmmm`)' (length=76)

我也试过使用单引号和/或花括号,但仍然是一样的。我将变量切换到实际数据并得到了相同的错误。请帮助。

2 个答案:

答案 0 :(得分:1)

VALUES (`$fname`, `$lname`, `$pass`)

应该是

VALUES ('$fname', '$lname', '$pass')

答案 1 :(得分:1)

不是backticks,还有引号

$query2 = "INSERT INTO imt.`$uname` (fname, lname, pass) VALUES('$fname', '$lname', '$pass')";
                                                                ^ here ^  ^      ^
当您必须处理与本机SQL函数匹配的列名时,需要

backticks,否则它们不是必需的。在这种情况下,如果您想使用它们,您应该这样做

"INSERT INTO imt.$uname (`fname`, `lname`, `pass`) VALUES('$fname', '$lname', '$pass')"