SQL查询插入错误

时间:2016-09-03 23:17:24

标签: php mysql database mysqli

所以我目前正在尝试建立与我的服务器的数据库连接,并且我的插入存在一些问题。当我手动尝试将其插入phpmyadmin并插入一行时,我的查询有效。

但是,当我尝试使用以下代码加载页面时,它似乎在数据库中打了3次。我在查询之后尝试使用exit()来查看是否有任何奇怪的循环,但它仍然输入了3次进入数据库。这里有什么奇怪的东西吗?

//timestamp
$t = time();
$stamp = date("Y-m-d", $t);


//create connection
$conn = new mysqli($servername, $username, $password, $dbname);

//check connection
if($conn->connect_error){
  die("connection failed: ".$conn->connect_error);
}
echo "Connection Successful"."<br>";

$name = "hi";
$affiliation = "yo";
$note = "wat";

$sql = "INSERT INTO `$table` (`name`, `affiliation`, `notes`, `timestamp`) VALUES ('$name', '$affiliation', '$note', '$stamp')";

$result = $conn->query($sql);

if($result){
  echo "Data entered successfully";
  echo "<br>".$sql;
} else{
  echo "Error: " .$sql."<br>".$conn->error;
}


$conn->close();

更多信息*****

所以这是一个会话期间整个表的示例输出

id:281 - 姓名:yo wat 2016-09-03 19:18:09

id:282 - 姓名:哟wat 2016-09-03 19:18:11

id:283 - 姓名:哟wat 2016-09-03 19:18:11

id:284 - 姓名:哟wat 2016-09-03 19:20:55

正如您可以通过时间戳判断的那样,在一个会话中添加一个并且它是正确的。但是,在添加之后不久,将再运行2个查询实例并将其放入。因此我每次刷新时看到3个输出的原因是因为通过了2个额外的插入。 (2个额外+ 1个正确插入)

我为什么会这样做而感到困惑,因为它似乎与服务器有关。我正在运行mariadb并且事情看起来是正确的,但也许某些东西没有正确关闭?

1 个答案:

答案 0 :(得分:0)

  • 我认为这不是问题的解决方法,因为我无法直接使用它,但使用单独的html文件提交post.php表单我能够得到正确的结果(1条目)。页面本身每次刷新添加3个条目的原因仍然未知,但我现在正在做的事情是令人满意的。

我想知道是否有人知道为什么会发生这种情况的原因,但就目前而言,当前的问题已经解决了。