有時寫程序時后臺要求把大量數據導入數據庫中,比如計算機考試成績的查詢、電話簿的數據等一般都是存放在excel中的,這時我們可把數據導出成csv文件,然后通過以下程序即可在后臺批量導入數據到數據庫中。 下面只是主要程序部分: <?php /***************************************** **********作者:沖星/arcow**************** **********njj@nuc.edu.cn******************* **********php導入csv文件到數據庫********** **********同時計算程序執行時間*********** **********www.knowsky.com*********** ****************************************/ //定義獲取時間函數 function getmicrotime(){ list($usec, $sec) = explode(" ",microtime()); return ((float)$usec + (float)$sec); } ?> <?php $time_start = getmicrotime(); include("db.inc.php");//連接數據庫 $db=new testcsv; ?> <?php $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 "<br>"; echo $sql."<br>"; $db->query($sql); echo "SQL語句執行成功!<br>"; $sql="insert into scores(idcard,names,num,sex,nation,score) values('"; } fclose ($handle); $time_end = getmicrotime(); $time = $time_end - $time_start; echo "程序執行時間:".$time."秒"; ?>
|