Home >Backend Development >PHP Tutorial >Batch import of data in php (csv file)_PHP tutorial
Sometimes when writing a program, the background requires a large amount of data to be imported into the database. For example, computer test score inquiries, phone book data, etc. are generally stored in excel. At this time, we can export the data into a csv file and then use The following program can batch import data into the database in the background.
The following is just the main program part:
/*****************************************
************ **Author: Chongxing/arcow******************
************njj@nuc.edu.cn****** *************
**********php import csv file into database************
***** *****Calculate program execution time at the same time************
************www.knowsky.com****************
*****************************************/
//Define the get time function
function getmicrotime(){
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}
?>
$time_start = getmicrotime();
include("db.inc.php");//Connect to the database
$db=new testcsv;
?>
$handle = fopen ("test.csv","r");
$sql="insert into scores(idcard,names,num,sex,nation, score) values('";
while ($data = fgetcsv ($handle, 1000, ",")) {
$num = count ($data);
for ($c=0; $c < $num; $c++) {
if($c==$num-1){$sql=$sql.$data[$c]."')";break;}
$sql=$sql.$data[$c]."','";
}
print "
";
echo $sql."
";
$db->query($sql);
echo "SQL statement executed successfully!
";
$sql="insert into scores(idcard,names,num,sex,nation,score ) values('";
}
fclose ($handle);
$time_end = getmicrotime();
$time = $time_end - $time_start;
echo "Program execution time: ".$time."seconds";
?>