解析错误:语法错误,意外的“插入”(T_STRING)[重复]

我正在使用2002年的脚本 谁能帮我这个代码

 $add_topic = insert into forum_topics values ('', '$_POST['topic_title']',

它给我一个“解析错误:语法错误,意外的'into'(T_STRING)“,请帮忙

谢谢

评论
  • uautem
    uautem 回复

    您需要在SQL语句两边加上引号。使用变量$ _POST ['topic_title']也可能会出错。如下所示在其周围加上双引号。

    $add_topic = "INSERT INTO forum_topics VALUES('', '".$_POST['topic_title']."')";
    

    在“ forum_topics”之后添加括号也是一个好主意,这样您就可以了解实际要插入的内容。

    $add_topic = "INSERT INTO forum_topics(some_value, topic_title) VALUES('', '".$_POST['topic_title']."')";
    

    还使用Prepared Statements,这样您的代码就不会对SQL注入开放。到这里来之前,请先搜索Google,因为这里有很多与错误相关的资源。它看起来应该像这样:

    $add_topic = "INSERT INTO forum_topics(some_value, topic_title) VALUES(?, ?)";
    if ($stmt = mysqli_prepare($conn, $add_topic) {
      mysqli_stmt_bind_param($stmt, "ss", $some_var, $_POST['topic_title'];
      $some_var = ' ';
      mysqli_stmt_execute($stmt);
      // Execution successful.
    } else {
      // Error.
    }