gpt4 book ai didi

php - 为什么这个 PDO Insert 执行了两次?

转载 作者:行者123 更新时间:2023-11-30 00:10:32 25 4
gpt4 key购买 nike

这已将 csv 中的每一行插入数据库两次,现在是三次。我在循环中放入的任何其他内容都不会发生超出其应有的情况。

$file_handle = fopen("uploads/numbers.csv", "r");    
$stmt = $db->prepare("INSERT INTO database
(firstname,lastname,phonenumber) VALUES
(:field1,:field2,:field3)");

while (($line_of_data = fgetcsv($file_handle, 1000, ",")) !== FALSE)
{
$stmt->execute(array(':field1' => $line_of_data [0], ':field2' => $line_of_data[1], ':field3' => $line_of_data[2]));
}

最佳答案

在数据库上设置正确的主键。 (名字,姓氏)或(名字,姓氏,电话号码)取决于用法。 Ta-da,不再重复。

我假设 James 的观点是正确的,因为 CSV 包含数据库中预先存在的数据,但无论哪种方式,主键都会防止重复。

如果您使用名字、姓氏键并且希望脚本能够更新电话号码,则可以使用 REPLACE 而不是 INSERT。

关于php - 为什么这个 PDO Insert 执行了两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24108927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com