mysql 字段列表错误中的未知列 [英] unknown column in field list error with mysql

查看:121
本文介绍了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)

我也尝试过使用单引号和/或大括号,但还是一样.我将变量切换到实际数据并得到相同的错误.请帮忙.

I also tried using single quotes and/ or curly braces but still the same thing. I switched the variables to the actual data and got the same error. Help please.

推荐答案

不是反引号,还有引号

$query2 = "INSERT INTO imt.`$uname` (fname, lname, pass) VALUES('$fname', '$lname', '$pass')";
                                                                ^ here ^  ^      ^

当您必须处理与本机 SQL 函数匹配的列名时,需要

反引号,否则它们不是必需的.在这种情况下,如果你想使用它们,你应该这样做

backticks are needed when you have to deal with column names which matches native SQL functions, otherwise they are not necessary. In this case if you'd like to use them you should do like this

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

这篇关于mysql 字段列表错误中的未知列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆