我似乎无法将我的表单中的日期插入到我的数据库中。请帮忙!
这是我的表格
echo '
<h1>Enter New Report</h1>
<form action="submitreport.php" method="post"
enctype="multipart/form-data">
Date: <input type="text" name="Date" value='.$myDate.' /><br />
Report:<br><TEXTAREA NAME=Report ROWS=4 COLS=40></TEXTAREA><br />
<input type="submit" name="submit" value="Submit" />
</form>
';
?>
以下是我提交给数据库的内容
$insertdate = trim($_POST['Date']);
$insertdate = mysql_real_escape_string($insertdate);
$insertdate = date('m/d/Y', $insertdate);
echo $insertdate;
mysql_query("INSERT INTO `Reports`(`Date`, `Report`) VALUES ('$insertdate','$_POST[Report]')") or die("load1 -" . mysql_error());
mysql_close();
echo "Thank You!" . " -" . "<a href='index.php' style='text-decoration:none;color:#ff0099;'> Return Home</a>";
?>
答案 0 :(得分:3)
我只是猜测,但数据库中的Date
字段属于date
或datetime
。这些格式为YYYY-mm-dd
。尝试将代码更改为:
$insertdate = date('Y-m-d', strtotime($_POST['Date']));
此外,在格式化之前,您不会将日期转换为时间戳。我也在这里添加了strtotime()
数据。
答案 1 :(得分:2)
PHP date
需要时间戳作为第二个参数。如果$insertdate
不是,那么它就不会工作。您可以使用PHP的strtotime()
函数从字符串中获取时间戳。
此外,必须根据mysql数据库中使用的类型格式化sql语句中的值,例如date
,datetime
或timestamp
答案 2 :(得分:0)
您可以使用NOW()MySQL函数将当前日期/时间插入数据库。您只需要使用Date,DateTime或Timestamp字段类型即可。
答案 3 :(得分:0)
我明白了 $ insertdate = trim($ _ POST ['Date']);
$insertdate = mysql_real_escape_string($insertdate);
$insertdate = strtotime($insertdate);
$insertdate = date('Y-m-d', $insertdate);
strtotime修复了它,但我不得不重新安排日期格式为Y-m-d
感谢您的帮助