不需要的双重(重复)保存在数据库中

jfgube3f  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(277)

**结案。**此问题不可复制或由打字错误引起。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。

两年前关门了。
改进这个问题
问题是:我有一些数据库,我正在从我的页面发送一些值。它们被发送和保存,但它们是重复的。我没有发送两次的周期或条件。我有一个类似的代码和它的工作刚刚好。

session_start();

$firstname = mysqli_real_escape_string($conn, $_POST['firstname']);
$lastname = mysqli_real_escape_string($conn, $_POST['lastname']);
$town = mysqli_real_escape_string($conn, $_POST['town']);
$street = mysqli_real_escape_string($conn, $_POST['street']);
$housenum = mysqli_real_escape_string($conn, $_POST['housenum']);
$psc = mysqli_real_escape_string($conn, $_POST['psc']);
$tel = mysqli_real_escape_string($conn, $_POST['tel']);
$email = mysqli_real_escape_string($conn, $_POST['email']); 
$payment = mysqli_real_escape_string($conn, $_POST['payment']);

$idBand = "";
$idBand = $_SESSION['idBand'][0];

for($i=1;$i<count($_SESSION['idBand']);$i++)
{
    $idBand = $idBand .", ". $_SESSION['idBand'][$i];
}

$sql = "INSERT INTO orders (idband, payment, firstname, lastname, town, 
                            street, housenum, psc, tel, email)
        VALUES ('$idBand', '$payment', '$firstname', '$lastname', '$town', 
                '$street', '$housenum', '$psc', '$tel', '$email')";
$result = mysqli_query($conn,$sql);

if ($conn->query($sql) === TRUE) 
{
    echo "Objednávka úspěšná.<br>";
    unset($_SESSION['idBand']);
    header("Location:../index.php?index.php=success");
    exit();
} 
    else 
    {
        echo "Error updating record: " . $conn->error;
        header("Location:../index.php?index.php=ERROR");
        exit();
    }
xjreopfe

xjreopfe1#

从代码中删除下一行,因为您已经在使用 $conn->query($sql) 所以只需注解下面显示的那行。

$result = mysqli_query($conn,$sql);

我还注意到一件事 $idBand 取第一个元素,然后在循环中再次从一个元素开始,而不是您可以使用的 join 或者 implode 就像下面一样

$idBand = implode(",",$_SESSION['idBand']);

但这只是另一种方法,不是问题主要问题是多次触发查询。
我希望这些改变能解决你的问题

相关问题