用php将csv文件导入mysql数据库

时间:2011-08-03 09:03:32

标签: php

我想在表中插入一些字段,其中部分细节将由用户通过表单提供,其他部分导入并使用前面的代码尝试使用,但它将所有字段组合到第一个字段中我的桌子上有一个单独的逗号可以帮助我。

if(is_uploaded_file($_FILES['file']['tmp_name'])){
   //Connect to the database
require("includefiles/myconnect.php");   
//Process the CSV file
   $handle = fopen($_FILES['file']['tmp_name'], "r");
   $data = fgetcsv($handle, 1000, ";"); 
   //Remove if CSV file does not have column headings
   while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
      $att0 = mysql_real_escape_string($data[0]);
      //echo $att0;
      $att1 = mysql_real_escape_string($data[1]);
      $att2 = mysql_real_escape_string($data[2]);
      $att3 = mysql_real_escape_string($data[3]);
      $att4 = mysql_real_escape_string($data[4]);
      $sql = "INSERT INTO `course_reg` (`coursecode`,`coursename`,`coursedescription`,`coursemaster`,`courselevel`)VALUES ('$att0','$att1','$att2','$att3','$att4')";
      mysql_query($sql) or die(mysql_error());
   }
  // mysql_close($link);
   echo "CSV file successfully imported.";
}

1 个答案:

答案 0 :(得分:0)

用逗号分隔?

如果逗号(即,)确实是您的分隔符,那么为什么要写这一行:

$data = fgetcsv($handle, 1000, ";"); 

将其更改为

$data = fgetcsv($handle, 1000, ",");

你应该没事。