Mysqli查询没有执行

时间:2016-08-09 10:16:44

标签: php mysql html5 mysqli

我和#34;奇怪的"问题。

这是我创建新主题的方式。 如果未设置sesson,请返回index.php,或者如果设置为连接到db,则从表单获取信息并将其放入db。然后,如果一切正常浏览器返回index.php。这很好用:

<?php 
    session_start();

    if(!isset($_SESSION['username'])){
        header("location: index.php");
    }

    if(isset($_POST["submit"])){

        include ('../modules/dbconnect.php');

        $uname = $_SESSION['username'];
        $utitle = $_POST["title"];
        $utext = $_POST["myTextArea"];

        $query = mysqli_query($conn, "INSERT INTO topic (author, title, text) VALUES ('$uname', '$utitle','$utext')");

        if($query){header("Location: ../index.php");}

        $conn->close();
    }
?>

<form class="registration_form" action="" method="post">
    <label>Titolo</label>
    <input type="text" name="title" class="input">
    <label>Testo</label>
    <textarea name="myTextArea"></textarea>
    <input class="button" type="submit" name="submit" value="submit">
</form>

这是我的问题。我在进入主题后使用相同的结构插入帖子,但我不知道为什么这不起作用,我无法弄清楚问题是什么:

 <?php
      if(isset($_POST["submit"])){

         include('modules/dbconnect.php');

         $id = $_GET['id'];
         $uname = $_SESSION['username'];
         $utext = $_POST["myText"];

         $query = mysqli_query($conn, "INSERT INTO post (id, author, text) VALUES ('$id, '$uname', '$utext')");

         if($query){header("Location: ../index.php");}

         $conn->close();
     }
 ?>

 <form class="reply_form" action="" method="post">
     <label>Testo</label>
     <textarea name="myText"></textarea>
     <input class="button" type="submit" name="submit" value="submit">
 </form>

4 个答案:

答案 0 :(得分:1)

VALUES ('$id, '$uname', '$utext')

- &GT;缺少一个&#39;在$ id ???之后

答案 1 :(得分:1)

在第一个工作代码段中, include('../ modules / dbconnect.php');

以下你用过 包括( '的模块/ dbconnect.php');

因此,由于文件路径问题,您可能没有连接对象。 请检查一下 如果您看到任何错误,请发布错误

答案 2 :(得分:0)

改变这个:

  $query = mysqli_query($conn, "INSERT INTO post (id, author, text) VALUES ('$id, '$uname', '$utext')");

对此:

  $query = mysqli_query($conn, "INSERT INTO post (id, author, text) VALUES ('$id', '$uname', '$utext')");

另外,检查include('modules/dbconnect.php');的正确路径,因为您首先使用了两条不同的路径include('../modules/dbconnect.php');,然后又使用了另一条路径。

'

时遗失('$id,

答案 3 :(得分:0)

您使用InnoDB作为存储引擎吗?如果是这样,您可能忘记将mysqli_autocommit设置为true或在查询后致电mysqli_commit