如何将XXXX / XX / XX等数据插入表格字段?

时间:2013-08-04 06:21:54

标签: php mysql

我想将这个2013/10/07,101003,08,04,13,22,25,20,29这样的数据存储到mysql数据库,我的表描述在下面

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)它应存储到字符串类型

前缀为0的一些数字如04被存储为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);

    ?>

感谢

1 个答案:

答案 0 :(得分: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