mysqli准备插入语句不起作用

时间:2019-10-27 22:42:24

标签: php html mysqli prepared-statement

我正在为我的网站切换到php prepare语句,但似乎无法使插入内容起作用。我对此没有任何错误,只是没有将数据放入数据库中。我已经按照此视频教程进行了学习,并且检查了拼写等,一切正常,而且数据库连接正常,因为它可以在网站上的其他任何地方使用。

PHP:

function insertCategory() {
    global $conn;
    // Check for submit
    if (isset($_POST['submit'])) {
        $cat_title_submit = $_POST['cat_title'];
        // Check we have a cat title
        if ($cat_title_submit == "" || empty($cat_title_submit)) {
            echo "The category cannot be blank";
        } else {
            // Insert Category
            $q1stmt = mysqli_prepare($conn, "INSERT INTO categories (cat_title) VALUES (?)");
            mysqli_stmt_bind_param($q1stmt, "s", $cat_title_submit);
            mysqli_stmt_execute($q1stmt);
            // Check query was run
            if (!$q1stmt) {
                die("Insert Category Failed: ". mysqli_error($conn));
            }
        }
    }
}

HTML:

<!--Add Category-->
<?php insertCategory(); ?>
<div class="col-xs-6">
   <form action="" method="post">
      <div class="form-group">
         <label for="cat_title">Add Category</label>
         <input name="cat_title" type="text" class="form-control" />
      </div>
      <div class="form-group">
         <input name="submit" type="submit" class="btn btn-primary" value="Add Category" />
      </div>
   </form>
</div>

0 个答案:

没有答案