次のスクリプトを使用して、CSVファイルからmysqlデータベースにデータをインポートしています。 CSVは、このような設定である:私が午前問題は、いくつかのためであるCSVファイルをアップロードしてエラーを返すmysqlにインポートする
name,postcode
frank,ng435tj
:上記
Name Postcode
fred hd435hg
bob dh345fj
メモ帳で見る生のcsv形式で、それはこのようになり、それはExcelで次のようになりますなぜなら、郵便番号列がまったくインポートされない理由は、ヘッダー行もレコードとしてインポートされているからです。最初の行をスキップすることは可能ですか?私はコードを読んでいて、郵便番号が引き込まれていない理由を見ることができません。それは非常に奇妙です。
<?php
//database connect info here
//check for file upload
if(isset($_FILES['csv_file']) && is_uploaded_file($_FILES['csv_file']['tmp_name'])){
//upload directory
$upload_dir = "./csv";
//create file name
$file_path = $upload_dir . $_FILES['csv_file']['name'];
//move uploaded file to upload dir
if (!move_uploaded_file($_FILES['csv_file']['tmp_name'], $file_path)) {
//error moving upload file
echo "Error moving file upload";
}
//open the csv file for reading
$handle = fopen($file_path, 'r');
while (($data = fgetcsv($handle, 1000, ',')) !== FALSE) {
//Access field data in $data array ex.
$name = $data[0];
$postcode = $data[1];
//Use data to insert into db
$sql = sprintf("INSERT INTO test (name, postcode) VALUES ('%s',%d)",
mysql_real_escape_string($name),
$postcode
);
mysql_query($sql) or (mysql_query("ROLLBACK") and die(mysql_error() . " - $sql"));
}
//delete csv file
unlink($file_path);
}
?>
こんにちは、申し訳ありませんthatsの私はExcelで開いたので、私はメモ帳で開く場合には、この – user1148760
名、率直郵便番号 のように見え、ng435tj – user1148760
ええとああ、わかりました。それから、今までの私の理論をすべて無視してください。 – mario