1
# download the file off the internet
    $file = file_get_contents("http://localhost/sample.csv");
    $filepath = "C:/xampp/htdocs/test/file/sample.csv";
    file_put_contents($filepath, $file);
# load the data into sample table
    $pt1 = "LOAD DATA LOCAL INFILE ";
    $pt2 = "'/C:/xampp/htdocs/test/file/sample.csv' INTO TABLE sample ";
    $pt3 = "FIELDS TERMINATED BY ',' ENCLOSED BY '\"' ";
    $pt4 = "LINES TERMINATED BY '\r\n' ";
    $pt5 = "(col1,col2,col3,col4)";
    $sqlquerynew = $pt1.$pt2.$pt3.$pt4.$pt5;
    mysql_query($sqlquerynew);

このコードは csv 以外で動作します (代わりに、テキスト ファイルでテストしました)。

この部分を実行する前に、テーブルを作成する必要があります。テーブルが作成されましたが、データはロードされていません。パスに記載されたファイルが存在します。

何が問題なのですか?

ありがとう

これは私がオンラインで見つけたサンプルcsvです

"REVIEW_DATE","AUTHOR","ISBN","DISCOUNTED_PRICE"
"1985/01/21","Douglas Adams",0345391802,5.95
"1990/01/12","Douglas Hofstadter",0465026567,9.95
       ....... etc
4

1 に答える 1

1

2つの問題

$pt2 = "'/C:/xampp/htdocs/test/file/sample.csv' INTO TABLE sample ";

/C の前の を削除します。

そして第二に、

$pt5 = "(col1,col2,col3,col4)";

列の名前が正しいことを確認してください。すべての列をインポートする場合は*、それを削除してください。$pt5ヘッダーを削除すると成功しますが、ヘッダー行がテーブルに追加されるため、ヘッダーを削除することもお勧めします。

于 2012-05-15T07:25:51.623 に答える