I am importing a csv file into my database (Mysql) using php. This code below inserts only the first row (data in the csv file) into the database. But it is supposed to insert more than a row into the database.
$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? What sort of data in it?