【发布时间】:2015-06-10 19:00:00
【问题描述】:
我正在使用 php 将 csv 文件导入我的数据库 (Mysql)。 下面的代码仅将第一行(csv 文件中的数据)插入数据库。但它应该在数据库中插入多行。
$info = pathinfo($_FILES['file']['name']);
/**
* This checks if the file is a csv file
*/
if(strtolower($info['extension']) == 'csv'){
$filename=$_FILES["file"]["tmp_name"];
if($_FILES["file"]["size"] > 0){
//Open the file
$file = fopen($filename, "r");
while (($emapData = fgetcsv($file, 10000, ",")) !== FALSE){
$num = count($emapData);
/**
* Insert data into the database if the columns are
* exactly in three columns
*/
if ($num == 3){
$sql = "INSERT
INTO Users (firstName,surName,indexNo)
VALUES('$emapData[0]','$emapData[1]','$emapData[2]')";
$result=$db->query($sql);
if($result){
echo "<script type=\"text/javascript\">
alert(\"CSV File has been successfully Imported.\");
window.location = \"../administrator/bulkStudentReg.php\"
</script>";
}
else{
echo "<script type=\"text/javascript\">
alert(\"Please Upload CSV File was not successful.\");
window.location = \"../administrator/bulkStudentReg.php\"
</script>";
}
}
else{
echo "<script type=\"text/javascript\">
alert(\"UPLOAD FAILED: Please your csv file contains incomplete column/s. Column should be 3 columns\");
window.location = \"../administrator/bulkStudentReg.php\"
</script>";
}
fclose($file);
}
}
}
else{
echo "<script type=\"text/javascript\">
alert(\"UPLOAD FAILED: Please the file should be in a csv file, eg. students.csv \");
window.location = \"../administrator/bulkStudentReg.php\"
</script>";
}
【问题讨论】:
-
什么是
$emapData?里面有什么样的数据?