Php 如何根据第一个数组列名在数据库表中插入数组值

Php 如何根据第一个数组列名在数据库表中插入数组值,php,mysql,arrays,Php,Mysql,Arrays,我正在从csv文件导入数据,所以我使用了该代码 <?php $path = "Export.csv"; $row = 1; if (($handle = fopen($path, "r")) !== FALSE) { while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { $row++; $data_entries[] = $data ; } fclose($handle

我正在从csv文件导入数据,所以我使用了该代码

<?php
$path = "Export.csv";
$row = 1;
if (($handle = fopen($path, "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $row++;
        $data_entries[] = $data ;


    }
    fclose($handle);
}
 echo"<pre>";
 print_r($data_entries);
 echo"</pre>";
?>

您可以尝试另一种方法,因为您的数据来自CSV文件

//extract the column names
$fields = array_shift($data_entries);
$values = array();

// Append the values
foreach($data_entries as $value){
   $values[]="('{$value[0]}', '{$value[1]}', '{$value[2]}', '{$value[3]}' )";
}

// Build the SQL
$sql = "INSERT INTO `TABLE_NAME` (" . implode(',' , $fields) . ") values " . implode(',', $values);
有许多选项,请阅读手册:

尝试以下代码:


预期的结果是什么?我想运行这样的查询,插入表(类型,PinCode,APN,County)值('Auction',503082537502-052-002,'United of America')……插入表(类型,PinCode,APN,County)值('Australia',21596378-202-038,'Australia'))我在表中有60列,我必须像$values[]=“('Australia'{$value[0]}'、{$value[1]}'、{$value[2]}'、{$value[3]}'、{$value[4]}'“有任何方法不需要扩展它”{$value[60]}”
LOAD DATA LOCAL INFILE 'Export.csv' INTO TABLE YourTable;
//extract the column names
$fields = array_shift($data_entries);
$values = array();

// Append the values
foreach($data_entries as $value){
   $values[]="('{$value[0]}', '{$value[1]}', '{$value[2]}', '{$value[3]}' )";
}

// Build the SQL
$sql = "INSERT INTO `TABLE_NAME` (" . implode(',' , $fields) . ") values " . implode(',', $values);