2017-10-25 5 views
-1

ここは新しいです。私は自分のコードに関する質問をしたいと思います。したがって、私のコードは完全に動作していますが、LOAD INTO INFILEを使用してプログラムでmysqlにcsvをインポートした後です。なぜ私の出力がこの種のフォーマットを得ているのか分からなかった。感謝の気持ちで私のコードを見てください!PHP - LOAD INTO INFILEを使用してmysqlにcsvをインポートした後、適切な形式の行がありません

$testing = $conn->prepare("LOAD DATA INFILE 'C:/xampp/mysql/data/mysql/usagetable.csv' 
      INTO TABLE trieinitialcountentry 
      FIELDS TERMINATED BY ',' 
      LINES TERMINATED BY '\n' 
      IGNORE 1 LINES 
      (Count_ID, InvItemLocID, OnHand, OnHandValue, StockCenter_ID)"); 
$testing->execute(); 

また、一部の行は完全にインポートされていますが、一部はインポートされていません。私の出力の例:

Count_ID InvItemLocID OnHand OnHandValue StockCenter_ID 
737450 -2091889269 140.00 "2   788.80" 
+1

テーブル構造とcsvエントリの例を提供する必要があります –

答えて

0

どうやら入力CSVファイルの値の一部が引用符でラップされ、あなたがLOAD DATA INFILEにこの情報を渡しませんでした。

$query = <<<'END' 
    LOAD DATA INFILE 'C:/xampp/mysql/data/mysql/usagetable.csv' 
    INTO TABLE trieinitialcountentry 
    FIELDS TERMINATED BY ',' 
      OPTIONALLY ENCLOSED BY '"' 
    LINES TERMINATED BY '\n' 
    IGNORE 1 LINES 
    (Count_ID, InvItemLocID, OnHand, OnHandValue, StockCenter_ID) 
END; 

$testing = $conn->prepare($query); 
$testing->execute(); 

注追加OPTIONALLY ENCLOSED BY '"'句:

は、この文字列で検索してください。

関連する問題