PHP PDO双插入

时间:2015-01-02 02:04:48

标签: php mysql pdo insert double

好的,我有一个非常奇怪的问题,我不知道是什么导致它。我已经使用PHP 3年了,但我不知道现在发生了什么。 我使用一个非常简单的代码使用PDO插入db:

$db = new PDO('mysql:host=localhost;dbname=my_db', "root", "");
$del = $db->prepare("INSERT INTO tbl_rate VALUES(0, 1, 2, 3, 4)");
$del->execute();

没有更多,只有和标签,但没有更多的东西,它做的是每当我刷新网站,它双重插入数据库。 我正在看这3行2小时,我不知道为什么它总是插入两次。

如果有人遇到过这个问题,请告诉我如何解决它或导致它的原因:x 谢谢!

3 个答案:

答案 0 :(得分:0)

好的,我不知道怎么回事。我只是尝试用数据库连接删除文件,然后我再次粘贴在ftp上,现在它正在工作(刷新后插入1)所以我仍然不知道为什么D: 谢谢所有帮助过我的人:)。

答案 1 :(得分:0)

我遇到了类似的重复插入问题,因为检索查询然后执行doubled inserted:

$db = new PDO('mysql:host=localhost;dbname=my_db', "root", "");
$sql = "INSERT INTO tbl_rate VALUES(0, 1, 2, 3, 4)";
$del->query($sql)->execute();

通过删除execute()调用来解决这个问题:

$db = new PDO('mysql:host=localhost;dbname=my_db', "root", "");
$sql = "INSERT INTO tbl_rate VALUES(0, 1, 2, 3, 4)";
$del->query($sql);

给出预期的结果。

答案 2 :(得分:0)

如果仅从刷新浏览器页面执行脚本或第一次访问页面,浏览器还将加载favicon.ico并可以第二次加载index.php。这是双重插入的原因(所有php操作都是dobules)。它基于您的Web服务器设置。

在执行代码之前,尝试使用POST方法检查您的php脚本。之所以可以使用此技巧,是因为浏览器使用GET方法加载收藏夹图标。