有時寫程序時后臺要求把大量數據導入數據庫中,比如計算機考試成績的查詢、電話簿的數據等一般都是存放在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."秒";
- ?>
新聞熱點
疑難解答