#1064(42000) MySQL INSERT INTO查询错误


#1064(42000) MySQL Error in INSERT INTO query PHP MySQL

我得到了一些人在这里得到的相同的错误。但我的问题仍然没有解决。在我的大学项目中,我的所有模块都出现了同样的错误。

当我在PHP

中运行以下查询时
$username = $_SESSION['username'];
$query = "SELECT id FROM user WHERE username = '$username'";
$qpost = mysqli_query($connection,$query);
$post_user = mysqli_fetch_assoc($qpost);
$forum_size = strlen($forum);
$dt = time();
$datetime = strftime("%Y-%m-%d %H:%M:%S", $dt);
$enteruser = $post_user['id'];
$Query = "INSERT INTO posts('id','user_id','post','date_added') VALUES(NULL,'$enteruser','$forum','$datetime')";`

我得到以下错误,

#1064 -你有一个错误的SQL语法;检查与你的MySQL服务器版本对应的手册,以便在第1行"id","user_id","post","date_added")VALUES (NULL,"3","erye yeyeyetyery very very"附近使用正确的语法

当我在mysql shell中运行它时,我得到了同样的错误。当我在phpmyadmin中运行该查询时,如下所示

INSERT INTO posts('id','user_id','post','date_added') VALUES (NULL,3,'erye yeyeyeyetyery ery ery ','2015-07-24 18:53:48');

我得到相同的错误。你能帮我解决这个问题吗?我用各种方法检查了查询,但仍然存在错误。不解决这个问题我就不能前进!谢谢你的帮助!

您不需要在表头上使用撇号。

        $username = $_SESSION['username'];
        $query = "SELECT id FROM user WHERE username = '$username'";
        $qpost = mysqli_query($connection,$query);
        $post_user = mysqli_fetch_assoc($qpost);
        $forum_size = strlen($forum);
        $dt = time();
        $datetime = strftime("%Y-%m-%d %H:%M:%S", $dt);
        $enteruser = $post_user['id'];
        $Query = "INSERT INTO `posts` (id, user_id, post, date_added) VALUES (NULL,'$enteruser','$forum','$datetime')";

给定idprimary-keyauto-increment,可以排除它。您也可以使用本地Mysql函数now() date_added

$Query = "INSERT INTO `posts` (user_id, post, date_added) VALUES ('$enteruser','$forum',now())";

试试这个…

$username = $_SESSION['username'];
$query = "SELECT id FROM user WHERE username = '$username'";
$qpost = mysqli_query($connection,$query);
$post_user = mysqli_fetch_assoc($qpost);
$forum_size = strlen($forum);
$dt = time();
$datetime = strftime("%Y-%m-%d %H:%M:%S", $dt);
$enteruser = $post_user['id'];
$Query = "INSERT INTO posts ('user_id','post','date_added') VALUES('$enteruser','$forum','$datetime')";`