gpt4 book ai didi

php - 将 csv 文件中的数据添加到 mysql 数据库中,避免在 php 中重复

转载 作者:行者123 更新时间:2023-11-28 23:17:24 24 4
gpt4 key购买 nike

我想通过 csv 文件将数据添加到数据库。能够实现这一点,但每当我再次上传该文件时,它就会重复,我不希望特定行的数据再次连续输入,但特定列字段可能会重复。以下代码用于上传文件具有表位置的数据库,其中包含 ID(自动递增)、州、城市的字段。

<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
require ('dbconfig.php');

if(isset($_POST['submit']))
{
$fname = $_FILES['sel_file']['name'];
echo 'upload file name: '.$fname.' ';
$chk_ext = explode(".",$fname);

if(strtolower(end($chk_ext)) == "csv")
{
$filename = $_FILES['sel_file']['tmp_name'];
$handle = fopen($filename,"r");

while (($data = fgetcsv($handle, 10000, ",")) !== FALSE)
{
$sql = "INSERT into location(State,City,District) values('$data[0]','$data[1]','$data[2]')";
mysqli_query($conn,$sql) or die ;
}
fclose($handle);
echo "Successfully imported";
}
else
{
echo "Invalid File";
}

}
?>
<h1>import CSV file</h1>
<form action='<?php echo $_SERVER["PHP_SELF"];?>' method='post' enctype="multipart/form-data">
Import File: <input type='file' name='sel_file' size='20'>
<input type='submit' name='submit' value='submit'>
</form>

最佳答案

第一种方式:将独特的州、市、区组合在一起:

ALTER TABLE `DB Name`.`Table Name` ADD UNIQUE (`State`, `City`, `District`);

插入查询应该在try catch

第二种方式:插入后,您应该从表中手动删除重复项 How to delete duplicates on a MySQL table?

关于php - 将 csv 文件中的数据添加到 mysql 数据库中,避免在 php 中重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43278393/

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