2011-08-03 83 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」有效嗎?你是否改變了你有命令出現在兩行中的建議改變? –