将一个.csvfile upload到PHP MySQL数据库,而不使用列标题

我想使用PHP将.csvfile upload到MySQL数据库。 我有这个代码:

<?php include_once 'db.php'; if(isset($_POST['submit'])){ if($_FILES['csv_data']['name']){ $arrFileName = explode('.',$_FILES['csv_data']['name']); if($arrFileName[1] == 'csv'){ $handle = fopen($_FILES['csv_data']['tmp_name'], "r"); while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { $item1 = mysqli_real_escape_string($dbConnection,$data[0]); $item2 = mysqli_real_escape_string($dbConnection,$data[1]); $import="INSERT into tbl_csv values('','$item1','$item2')"; mysqli_query($dbConnection,$import); } fclose($handle); print "Import done"; } } else{ echo "only Excel"; } } ?> <html> <head> <title>CSV Upload</title> <head> <body> <form method='POST' enctype='multipart/form-data'> Upload CSV: <input type='file' name='csv_data' /> <input type='submit' name='submit' value='import' /> </form> </body> </html> 

它工作正常。 但是我想上传没有列标题的.csv文件。 例如,如果我上传的文件如:

 id item1 item2 1 ab 2 bc 

每次插入iditem1item2

如何解决这个问题?

只要把上面的代码放到while循环中就可以了:

 $headers = fgetcsv($handle, 1000, ","); while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { $item1 = mysqli_real_escape_string($dbConnection,$data[0]); $item2 = mysqli_real_escape_string($dbConnection,$data[1]); ....