2016-10-17 10 views
0

私はcsvファイルを持っており、LOAD DATA LOCAL INFILEコマンドを使用してmysql内にロードしていますが、なぜ5行しか読み込まないのか分かりません。 は、ここに私のPHPコードです:LOAD DATA LOCAL INFILEは5行しか入力しません

<?php 
include "../config.php"; 
$conn = new mysqli($servername, $username, $password, $dbname); 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} //$conn->connect_error 

$sql= "LOAD DATA LOCAL INFILE 'uploads/cell.csv' 
INTO TABLE table3 
CHARACTER SET UTF8 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\r\n'"; 
$result   = $conn->query($sql); 
echo("Error description: " . mysqli_error($conn)); 
?> 

やcsvファイルは、以下のリンクで接続されています。 PHPのコードを実行するとこのようになります後MySQLの

cell.csv

:私は最終的に自分でそれを考え出し

mysql

+0

そのCSVファイルのヘッダー行を削除する必要があります。値をテーブルのままにして、もう一度やり直してください。あなたは、いくつかの行も省略するようにMySQLに指示することができます。 http://stackoverflow.com/questions/14127529/mysql-import-data-from-csv-using-load-data-infile – valicu2000

+0

私は10行以上を削除しますが、それらを削除すると何も追加しません –

+0

いくつかのフィールドには複数のカンマがあり、構造が壊れていることがわかります。クエリでは、FIELDS TERMINATED BY '、' FILLDS TERMINATED BY '、' 'の代わりに' '' ENCLOSED BY '' 'を使用します。このチュートリアルを読むことができます:http://www.mysqltutorial.org/import-csv-file-mysql-table /。また、行が\ r \ nか\ nで終わっているかどうかは分かりません。 – valicu2000

答えて

0

、問題だった/ R/N、ラインのsomrはで終了/ rといくつかは/ r/nで終了しました。私はコードを次のように書いています:

<?php 
include "../config.php"; 
$conn = new mysqli($servername, $username, $password, $dbname); 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} //$conn->connect_error 

$sql= "LOAD DATA LOCAL INFILE 'uploads/cell.csv' 
INTO TABLE table3 
CHARACTER SET UTF8 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\r'"; 
$result   = $conn->query($sql); 
echo("Error description: " . mysqli_error($conn)); 
?> 

そして問題を修正しました。

関連する問題