首页 > 解决方案 > 我的 PHP MySQL 语句没有停止运行

问题描述

我创建了一个脚本,它获取一些 JavaScript var 并将它们插入 MySQL 数据库,问题是它不会停止运行,他一直在数据库中一遍又一遍地插入相同的数据。我真的不知道可能是什么,也许 $stmt/整个 if 语句的那 4 行?

<script type="text/javascript">
    window.location.href='insertsql.php?email=myemail@email.com&at=2&af=3&pe=2&ar=3&de=2&he=3'
</script>

<?php
$servername="secretserver";
$username="secretname";
$password="password";
$dbname="database";
$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error){
    die("Connecion failed".$conn->connect_error);
}
echo "Connected successfully";

if (isset($_GET['email'],$_GET['at'],$_GET['af'],$_GET['pe'],$_GET['ar'],$_GET['de'],$_GET['he'])){

    $email=$_GET["email"];
    $at=$_GET["at"];
    $af=$_GET["af"];
    $pe=$_GET["pe"];
    $ar=$_GET["ar"];
    $de=$_GET["de"];
    $he=$_GET["he"];

    $stmt = $conn->prepare("INSERT INTO mydatabase (email_nome, dummy_one, dummy_two, dummy_three, dummy_four, dummy_five, dummy_six) VALUES (?, ?, ?, ?, ?, ?,?)");
    $stmt->bind_param("sssssss", $email , $at, $af, $pe, $ar, $de, $he);
    $stmt->execute();
    $stmt->close();
}
$conn->close();

?>

标签: javascriptphp

解决方案


这个页面做的第一件事是在服务器端执行所有的 PHP 代码,它将一条记录插入到数据库中。

这个页面做的第二件事是在客户端执行一行代码来重新加载页面:

window.location.href='insertsql.php?email=myemail@email.com&at=2&af=3&pe=2&ar=3&de=2&he=3'

因此,在每次插入操作之后,您都会指示页面重新开始。只需删除一个 JavaScript 操作,它除了执行您说您不希望它执行的确切操作之外没有其他用途。


推荐阅读