0
テキストファイルから複数の行をテーブルに挿入しようとしています。 以下のコードは、テキストファイルの最初の行のみを挿入しているようです。それをループして残りの行を挿入するように変更するにはどうすればよいですか?PHPを使用してデータベースに挿入する - 1行だけを挿入する
$rwy = "./rwy.txt";
if (file_exists($rwy)) {
sql('TRUNCATE rwy_current');
$array = file($rwy);
foreach ($array as $line) {
$bits = explode("\r\n", $line);
foreach ($bits as $row) {
$col = explode("\t", $row);
sql("INSERT INTO rwy_current (arpt_ident, high_ident, low_ident, high_hdg, low_hdg, length, surface, pcn, he_elev, he_slope, he_tdze, le_elev, le_slope,
le_tdze, he_true_hdg, le_true_hdg, heland_dis, he_takeoff, leland_dis, le_takeoff, cycle_date)
VALUES ('$col[0]', '$col[1]', '$col[2]', '$col[3]', '$col[4]', '$col[5]', '$col[7]', '$col[8]', '$col[13]', '$col[14]', '$col[15]', '$col[30]',
'$col[31]', '$col[32]', '$col[43]', '$col[44]', '$col[46]', '$col[47]', '$col[48]', '$col[49]', '$col[50]')
");
}
}
}
私は、これ以上のデータはありますが、私はこれがcsvだと思っています。 read fileコマンドとstr_getcsvコマンドを使用する必要があります。 print_rとvar_dumpはあなたの問題をデバッグするあなたの友達です –
'file($ rwy)'はすでに 'explode(" \ r \ n ")'を実行していますので、 'foreach($ array as) $ row) ' – apokryfos
テキストファイルはTSVで、$ rowのvar_dumpは私に与えます:string(0)" " –