我做了
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)
我也试过使用单引号和/或花括号,但仍然是一样的。我将变量切换到实际数据并得到了相同的错误。请帮助。
答案 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')"