2011-08-03 150 views
-1

我想插入一些字段到一个表中,其中一部分细节将通过用户的表单提供,其他的用户导入并用前面的代码试用它,但它结合所有的字段以逗号分隔到我的表的第一个字段中,任何人都可以帮助我。用php导入csv文件到mysql数据库

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."; 
} 
+0

看到这个主题http://stackoverflow.com/questions/4143938/import-csv-file-directly-into-mysql – Vijay

+0

可能重复的[上传大型csv文件到mysql数据库](http://stackoverflow.com/questions/6913547/upload-large-csv-file-into-mysql-database) –

回答

0

用逗号分隔?

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

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

它变成

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

,你应该罚款。

+0

它仍然给我同样的东西 –

+0

你确定“1000”有效吗?你是否改变了你有命令出现在两行中的建议改变? –