私のテーブルにCSVテキストファイルをインポートするには、以下のコードを使用していますが、新しいホストはLOAD DATA
コマンドを許可していません。当然のことながら、彼らは私に明確な答えを与えることは役に立たない。PHPとMySQLiを使用したCSV代替メソッドのインポート
LOAD DATA LOCAL
とLOAD DATA
以外の方法は、PHP/MySQLi経由でMySQLテーブルにCSVファイルをインポートする必要がありますか?
// Query - import CSV file into DB, ignore top 3 lines
$sql= "LOAD DATA LOCAL INFILE '".$import_file."' INTO TABLE `$dbtable`
FIELDS TERMINATED BY '".$fieldseparator."'
LINES TERMINATED BY '".$lineseparator."'
IGNORE 3 LINES
SET TIMESTAMP = '".$local_time."'";
おかげ
EDIT:
提案fgetcsv
機能を検討していた後、私は以下のコードを思い付きました。理論的にはうまくいくはずですが、コードはエラーを表示せずに最終的にタイムアウトするまでロードされているようです。データベースには、単一の行エントリのみが移入されます。
私はここで間違っていますか?
if ($import_file) {
// set row counter to 0
$line = 0;
while (($row = fgetcsv($import_file)) !== false) {
// ignore the first 3 rows of the file based on iteration of the counter
if ($line <= 3) {
$line++;
continue;
} else {
// if row count is higher than 3, insert into database
$sql = "INSERT INTO `$dbtable`
(`OPERA_CONF`, `CRS`, `HOLIDEX`, `ARRIVAL`)
VALUES (
'" . $row[0] . "',
'" . $row[1] . "',
'" . $row[2] . "',
'" . $row[3] . "'
)";
// execute query
$mysqli->query($sql);
$line++;
}
}
} else {
echo "\n CSV file could not be found.";
}
あなたはphpMyAdminのへのアクセスを持っていない:
は、使用の簡単のためにここに貼り付けhttp://www.readmyviews.com/import-csv-data-mysql-using-php/
コードを見たことがありますか? – Ashish
@Ashish私はそうですが、このクエリを実行しているスクリプトはcronジョブにバインドされており、15分ごとに実行されるはずです。 'LOAD DATA'コマンドがなければ、何もできません(少なくとも私は方法は分かりません)。 – Armitage2k