【问题标题】:unknown column in field list error with mysqlmysql的字段列表错误中的未知列
【发布时间】:2014-04-14 17:49:21
【问题描述】:

我做到了

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)

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

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    不是backticks,也是引号

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

    backticks 在你必须处理与本地 SQL 函数匹配的列名时是必需的,否则它们不是必需的。在这种情况下,如果你想使用它们,你应该这样做

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

    【讨论】:

      【解决方案2】:
      VALUES (`$fname`, `$lname`, `$pass`)
      

      应该是

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

      【讨论】:

      • ...我在几分钟前尝试过,但没有成功。现在只是为了再次检查,它起作用了....不明白
      • 它应该是其他东西,如上所示的查询应该可以工作。在这里查看sqlfiddle.com/#!2/d67620
      • @brown.cn:您可能尝试过使用反引号,但没有成功。用单引号应该可以工作。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-21
      • 2013-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多