0

このようなデータを mysql データベースに保存したいのですが2013/10/07,101003,08,04,13,22,25,20,29、テーブルの説明は以下のとおりです

date char(10)
index char(6)
n1 char(2)
n2 char(2)
n3 char(2)
n4 char(2)
n5 char(2)
n6 char(2)
n7 char(2)

しかし、2013/10/07日付フィールドに挿入すると、テーブルに表示されるコンテキストはこのような数値になりますが、そうで91.09090909はありません2013/10/07。しかし、タイプchar(10)を文字列タイプに保存するように設定しました

04として保存されたような接頭辞0を持ついくつかの番号、4この問題を解決するにはどうすればよいですか?

店舗情報はHistory.txtこんな感じ

2004/02/10,093020,43,33,31,01,20,21,02
2004/02/05,093010,25,08,19,35,23,20,15
2004/02/01,093001,30,05,21,41,09,33,35

ここに私のコードがあります

<?php

    $History_Data = fopen("History.txt","r");
    $Link = mysqli_connect("localhost","root","happy","l") or die ("Can't connect database\n");

    while(feof($History_Data) != 1)
    {
        $Line = fgets($History_Data);
        $Line = trim($Line,"\n");
        $Separated = preg_split("/[,]/",$Line);
        $Status = mysqli_query($Link,"Insert into history_data values ($Separated[0],$Separated[1],$Separated[2],$Separated[3],$Separated[4],$Separated[5],$Separated[6],$Separated[7],$Separated[8]);");
        echo $Status;
    }
    fclose($History_Data);

    ?>

ありがとう

4

1 に答える 1

3

その日付を一重引用符で囲む必要があります。引用符がないと、数式として解釈されます (2013 / 10 / 07 = xx.xxxx)。

$Status = mysqli_query($Link,"Insert into history_data values ('$Separated[0]',$Separated[1],$Separated[2],$Separated[3],$Separated[4],$Separated[5],$Separated[6],$Separated[7],$Separated[8]);");

しかし、それはまだ間違っています。正しい mysql データ型を使用し、日付には DATETIME を使用する必要があります。http://dev.mysql.com/doc/refman/5.5/en/datetime.html

于 2013-08-04T06:28:48.570 に答える