0

csv ファイルの内容を mysql に挿入できるスクリプトがありますが、問題は、日付と携帯電話番号のフィールドを同じ場所に配置する理由がわかりません。日付と携帯電話番号はどちらもデータベース内の異なるフィールドで、どちらも varchar 型です。

今、これはコードです:

if (isset($_POST['submit'])) {
    if (is_uploaded_file($_FILES['filename']['tmp_name'])) {
        echo "<h1>" . "File ". $_FILES['filename']['name'] ." uploaded successfully." . "</h1>";
        echo "<h2>Displaying contents:</h2>";
        readfile($_FILES['filename']['tmp_name']);
    }

    //Import uploaded file to Database
    $handle = fopen($_FILES['filename']['tmp_name'], "r");

    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $import="INSERT into imovo(date,time,location,rbpos_id,mobile_number) values('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]')";

        mysql_query($import) or die(mysql_error());
    }

    fclose($handle);

    print "Import done";

データが正しくアップロードされません。データをアップロードする方法は次のとおりです。データはすべてデータベースに送信されるわけではありません。

8/31/12,12:34:40,Tirane1,2345,662080090 8/32/2012,15:34:40 PM,Tirane2,2345,662080091 8/33/2012,18:34:40 PM,Tirane3,2345,662080092Import done 

見ると、日付と携帯番号が一緒。。

4

1 に答える 1

0

携帯電話番号と日付は一致しません。それらの間のこのスペースは、別のレコードを意味します (ソース コードの改行です)。最後に「インポート完了」と印刷すると携帯番号にくっつくのと同じです。

おそらく問題は、次のような時間がないことです。

18:34:40 PM

18:34:40 または 6:34:40 PM です

于 2012-09-10T12:44:26.913 に答える