刷新浏览器时添加到mysql的行

时间:2017-04-11 20:17:10

标签: php html mysql

我有一个表单,我可以添加一些信息。这些信息保存在MySQL数据库中。插入函数正在插入我在表单中设置的信息,但每次我点击提交时都会收到错误:ERROR: Could not execute $sql

信息在数据库中正确插入,但我仍然在前端收到错误。

另一个问题是,每当我刷新浏览器,返回浏览器或点击表单中没有数据的提交时,我的数据库中仍然会添加空行。有什么我在这里完全错了吗?

  

评论后更新了代码:

insert.php

<?php
$sql = "INSERT INTO stores (headline, description, place) 
        VALUES ('".$_POST["headline"]."','".$_POST["description"]."','".$_POST["place"]."')";

if(mysqli_query($res, $sql)){
    echo "Records added successfully.";
} else{
    echo "ERROR: Could not execute $sql. " . mysqli_error($mysqli);
}

&GT;

的index.php

<div>
    <h4>Insert Store</h4><hr>
    <?php include 'function/insert.php' ?>
    <form method="post">
        <input type="text" name="headline" value=""></input><br><br>
        <textarea name="description" rows="10" cols="30"></textarea><br><br>
        <input type="text" name="place" value=""> 
        <input type="submit" value="Submit">
    </form>
</div>

1 个答案:

答案 0 :(得分:-1)

  

另一个问题是,每当我刷新浏览器,返回浏览器或点击表单中没有数据的提交时,我的数据库中仍然会添加空行。有什么我在这里完全错了吗?

那是因为你包含了insert.php而不管用户操作如何。 您应该删除包含行并在表单的操作字段

中设置insert.php
<form method="post" action="function/insert.php">...</form>