<?php
$con = mysql_connect("localhost","","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("", $con);
$sql="INSERT INTO PatientData (username, Date, GlucoseReading, Carbohydrates, InsulinUsed, InsulinType,WhichMeal)
VALUES
('$_Post[username]', '$_POST[Date]', '$_POST[GlucoseReading]', '$_POST[Carbohydrates]', '$_POST[InsulinUsed]','$_POST[InsulinType]', '$_POST[WhichMeal]' )";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con);
?>
答案 0 :(得分:2)
$_POST["DATE"]
显然格式不正确或为空。
答案 1 :(得分:2)
添加以前的海报所说的内容,确保您的日期有效。例如,2011-02-31是无效日期,MySQL将变成0000-00-00。
非法DATETIME,DATE或TIMESTAMP值被转换为相应类型的“零”值('0000-00-0000:00:00'或'0000-00-00')。 (MySQL documentation)
答案 2 :(得分:1)
可能的原因是
$_POST[Date]
为空yyyy-mm-dd
yyyy-mm-dd
mysql接受日期
醇>
检查这些并确保您必须保护您的查询不受SQL注入。
答案 3 :(得分:1)
看到你的帖子标题我相信你有专栏作为日期。
在mysql中,日期字段的格式为yyyy-mm-dd。
如果您尝试输入其他任何与上述格式化日期不相似的内容,则会插入稿件。
要纠正它,而不是直接将日期输入数据库格式,如下所示
日期('Y-m-d',strtotime($ _ POST [Date]))
另外还有一条建议看到你当前的代码,似乎代码很容易受到sql注入攻击,在插入db之前清理数据。