0

我正在尝试在 MySQL 数据库中导入 CSV 文件。使用下面提到的脚本成功运行脚本,但成功运行后发现数据库为空。请帮助,因为由于服务器限制,我无法在文件选项中使用加载数据,

<?php 

include dbconf.php
//

if ($_FILES[csv][size] > 0) {

//get the csv file
$file = $_FILES[csv][tmp_name];
$handle = fopen($file,"r");

do {
    if ($data[0]) {
        mysql_query("INSERT INTO hrc (field0,field2,..,field19) VALUES
            (  

'".addslashes($data[0])."',
'".addslashes($data[1])."',
'".addslashes($data[2])."',
'".addslashes($data[3])."',
'".addslashes($data[4])."',
'".addslashes($data[5])."',
'".addslashes($data[6])."',
'".addslashes($data[7])."',
'".addslashes($data[8])."',
'".addslashes($data[9])."',
'".addslashes($data[10])."',
'".addslashes($data[11])."',
'".addslashes($data[12])."',
'".addslashes($data[13])."',
'".addslashes($data[14])."',
'".addslashes($data[15])."',
'".addslashes($data[16])."',
'".addslashes($data[17])."',
'".addslashes($data[18])."',
'".addslashes($data[19])."'



            )
        ");
    }
} while ($data = fgetcsv($handle,1000,",","'"));


header('Location: import.php?success=1'); die;

}

?>
4

1 回答 1

0
Try this.


set_time_limit(10000);

ini_set('auto_detect_line_endings',TRUE);

$csv_data=array();

$file_handle = fopen($_FILES['file_name']['tmp_name'], 'r');

while(($data = fgetcsv($file_handle) ) !== FALSE){

 $update_data= array('first'=>$data['0'],
                      'second'=>$data['1'],
                      'third'=>$data['2'],
                       'fourth'=>$data['34']);

// save this array in your database
}

Thanks
于 2013-12-31T07:29:33.067 回答