Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将CSV文件中的重复项从导入MySQL中排除?_Mysql_Csv - Fatal编程技术网

如何将CSV文件中的重复项从导入MySQL中排除?

如何将CSV文件中的重复项从导入MySQL中排除?,mysql,csv,Mysql,Csv,我有一个包含许多重复条目的CSV文件。如何在不导入重复项的情况下将条目导入MySQL?您可以将其中一列(您确定会有重复数据的列)定义为MySQL中唯一的列,然后导入所有内容,让数据库吐出重复条目中的错误。这是一段简单的代码,用于将条目导入MySQL,而不必同时导入重复条目,并计算记录数和重复条目数 <?php $duplicate=0; $record=0; $total=0; $conn=mysql_connect("localhost","root","rootpass","") or

我有一个包含许多重复条目的CSV文件。如何在不导入重复项的情况下将条目导入MySQL?

您可以将其中一列(您确定会有重复数据的列)定义为MySQL中唯一的列,然后导入所有内容,让数据库吐出重复条目中的错误。

这是一段简单的代码,用于将条目导入MySQL,而不必同时导入重复条目,并计算记录数和重复条目数

<?php
$duplicate=0;
$record=0;
$total=0;
$conn=mysql_connect("localhost","root","rootpass","") or die(mysql_error());
mysql_select_db("svn",$conn);
ini_set('max_execution_time', 300);
if(isset($_POST['submit']))
{
$file=$_FILES['file']['tmp_name'];

$handle=fopen($file,"r");
while(($fileop=fgetcsv($handle,1000,",")) !== false)
{
if(! get_magic_quotes_gpc() )
{
$fn= addslashes ($fileop[0]);
$ln=addslashes ($fileop[1]);
$ti=addslashes ($fileop[2]);
$ac=addslashes ($fileop[3]);
$em=addslashes ($fileop[4]);
$op=addslashes ($fileop[5]);
$mp=addslashes ($fileop[6]);
$fx=addslashes ($fileop[7]);
$ad=addslashes ($fileop[8]);
$co=addslashes ($fileop[9]);
$st=addslashes ($fileop[10]);
$ci=addslashes ($fileop[11]);
$zc=addslashes ($fileop[12]);
}
else
{
$fn= $fileop[0];
$ln=$fileop[1];
$ti=$fileop[2];
$ac=$fileop[3];
$em=$fileop[4];
$op=$fileop[5];
$mp=$fileop[6];
$fx=$fileop[7];
$ad=$fileop[8];
$co=$fileop[9];
$st=$fileop[10];
$ci=$fileop[11];
$zc=$fileop[12];
}


$query=mysql_query("SELECT * FROM test WHERE email='$em'");
 if(mysql_num_rows($query)>0)
  {

   $duplicate=$duplicate+1;
  }
else
  {
  $record=$record+1;
$sql=mysql_query("INSERT INTO test(first_name,last_name,title,account,email,officephone,mobphone,fax,address,country,state,city,zipcode) 
VALUES('$fn','$ln','$ti','$ac','$em','$op','$mp','$fx','$ad','$co','$st','$ci','$zc')");
}
}

echo"Data inserted successfully";

echo "<table width='600' cellpadding='5' cellspacing='5' border='1'>";
echo "<tr>"."<td>"."Record inserted"."</td>"."<td>".$record."</td>"."</tr>";
echo "<tr>"."<td>"."duplicate record"."</td>"."<td>".$duplicate."</td>"."</tr>";
echo "<tr>"."<td>"."Total records"."</td>"."<td>".$total=$record + $duplicate."</td>"."</tr>";
echo "</table>";


}

?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<?
$duplicate=0;
$record=0;
$total=0;
?>
</head>
<body>

<form action="index.php" method="post" enctype="multipart/form-data">
 <input type="file" name="file" value="selectfile"/><br/>
    <input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>