我想将这个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);
?>
感谢
答案 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