将csv导入到具有相同匹配头的数据库中在php

时间:2015-04-30 10:51:11

标签: php

我在数据库中有一个表,其中包含字段(Id,名称,电子邮件,员工代码,加入日期,地址),我有一个包含相同字段的csv文件。我必须将csv文件导入到具有相同标头的数据库中。如果标头不同,则它不应导入数据库并抛出错误。我必须在将csv上传到数据库时进行检查,如果数据库中已有任何值(电子邮件或员工代码),则应忽略该字段并抛出错误。 请帮忙 。

if(isset($_POST["Import"]))
{
$host="localhost"; // Host name.
$db_user="root";
$db_password="password";
$db='testcsv'; // Database name.
$conn=mysql_connect($host,$db_user,$db_password) or die (mysql_error());
mysql_select_db($db) or die (mysql_error());
$fieldinfo=array();
echo $filename=$_FILES["file"]["tmp_name"];
$query="SELECT * FROM csv";
$output=mysql_query($conn,$query);
while ($fieldinfo=mysqli_fetch_field($output))
{
    $columns=$fieldinfo;
}


echo $query;
echo "<br/>";
 print_r($output);
echo "<br/>";


 if($_FILES["file"]["size"] > 0)
 {

  $file = fopen($filename, "r");
  $header = fgetcsv($file);
         while (($emapData = fgetcsv($file, 10000, ",")) !== FALSE)
         {
        $record = array_combine($header, $emapData);
echo "<br>";
            echo $record;
echo "<br>";


            $sql = "INSERT into csv(Name,Email,EmployeeCode,JoiningDate,Address) values('$emapData[0]','$emapData[1]','$emapData[2]','$emapData[3]','$emapData[4]')";
            mysql_query($sql);
         }
         fclose($file);
         echo "CSV File has been successfully Imported";
 }
 else
 echo "Invalid File:Please Upload CSV File";

}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Import CSV/Excel file</title>
</head>
<body>
<form enctype="multipart/form-data" method="post">
<table border="1" width="40%" align="center">
<tr >
<td colspan="2" align="center"><strong>Import CSV/Excel file</strong></td>
</tr>

<tr>
<td align="center">CSV/Excel File:</td><td><input type="file" name="file" id="file"></td></tr>
<tr >
<td colspan="2" align="center"><input type="submit" name="Import" value="Import"></td>
</tr>
</table>
</form>
</body>
</html>

0 个答案:

没有答案