1

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>";
?>

そして、そのような私の配列出力は、その後に列名を示す最初の配列が値を示すすべての配列であるため、最初の配列列名に基づいて値を挿入したい

 Array
 (
  [0] => Array
    (
        [0] => Type
        [1] => PinCode
        [2] => APN
        [3] => County
    )
  [1] => Array
    (
        [0] => Auction
        [1] => 503082537
        [2] => 502-052-002
        [3] => United States of America
    )
  [2] => Array
    (
        [0] => Auction
        [1] => 21596378
        [2] => 628-202-038
        [3] => Australia
     )
 )
4

2 に答える 2

3

以下のコードを試してください:

//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);
于 2012-08-17T06:09:48.190 に答える
0

データは CSV ファイルから取得されているため、別のアプローチを試すことができます。

LOAD DATA LOCAL INFILE 'Export.csv' INTO TABLE YourTable;

多くのオプションがあります。マニュアルを読んでください: http://dev.mysql.com/doc/refman/5.0/en/load-data.html

于 2012-08-17T06:06:22.977 に答える