为什么会出现此错误?:未知列';firstname';在';字段列表';


Why am getting this error?: Unknown column 'firstname' in 'field list'

  if(isset($_POST["submit"]))
  {
    // Details for inserting into the database
        $id = htmlentities($_POST["id"]);
        $firstname = htmlspecialchars($_POST["firstname"]);
        $lastname = htmlspecialchars($_POST["lastname"]);
        $username = htmlspecialchars($_POST["username"]);
        $password = htmlspecialchars($_POST["password"]);
    // Dealing with inserting 
        $query = "INSERT INTO `myDatabaseForAll`.`users` (`id`, `firstname`, `lastname`, `username`, `password`)
                 VALUES (NULL, $firstname, $lastname,$username,$password)";
        $result = mysqli_query($connection,$query);

        if(!$result) {
            die('There were some errors '.mysqli_error($connection));
        } else {
            redirect_to('index.php');
        }
}
$query = "INSERT INTO `myDatabaseForAll`.`users` (`id`, `firstname`, `lastname`, `username`, `password`)
         VALUES (NULL, $firstname, $lastname,$username,$password)";

在sql查询中,需要在文本假框周围使用单引号

将上述查询更改为

$query = "INSERT INTO `myDatabaseForAll`.`users` (`id`, `firstname`, `lastname`, `username`, `password`)
         VALUES (NULL, '$firstname', '$lastname','$username','$password')";

发生此错误的原因可能是表列名与查询中给定的名称不匹配。如果不是这样,请尝试下面的代码。

$query = "INSERT INTO `myDatabaseForAll`.`users` (id, firstname, lastname, username, password)
         VALUES (NULL, '".$firstname."', '".$lastname."','".$username."','".$password."')";

在您的查询中,您将一些字符串部分与php变量连接起来。因此,应该使用连接运算符以上述方式进行连接。