PHP MySQL 插入日期格式:解决无效日期问题
将日期插入 MySQL 数据库有时会导致数据库出现错误尽管代码中的日期格式正确,但仅插入“0000-00-00 00 00 00”。当 MySQL 无法识别日期格式时,就会出现此问题。
要解决此问题,必须遵循 MySQL 接受的指定日期格式:
在给定的代码中,日期以以下格式接收: 08/25/2012',MySQL 无法识别。因此,我们需要将日期格式修改为支持的格式之一。
解决日期格式问题的选项:
altField 和 <code data-type="javascript">altFormat 指定传递日期的格式到 PHP 脚本。例如,<code data-type="javascript">altFormat: "yyyy-mm-dd".
使用 STR_TO_DATE() 函数:使用 STR_TO_DATE() 将日期字符串转换为 MySQL 支持的格式功能。示例:
INSERT INTO user_date VALUES ('', '$name', STR_TO_DATE('$date', '%m/%d/%Y'))
使用 DateTime 对象: 将日期字符串转换为 PHP DateTime 对象,获取格式化字符串,并在插入查询中使用它。示例:
$dt = \DateTime::createFromFormat('m/d/Y', $_POST['date']); $date = $dt->format('Y-m-d'); INSERT INTO user_date VALUES ('', '$name', '$date')
操作日期字符串: 手动操作日期字符串,将其转换为有效的 MySQL 格式。示例:
$parts = explode('/', $_POST['date']); $date = "$parts[2]-$parts[0]-$parts[1]"; INSERT INTO user_date VALUES ('', '$name', '$date')
其他注意事项:
以上是如何修复 PHP 和 MySQL 中的'0000-00-00 00:00:00”日期插入错误?的详细内容。更多信息请关注PHP中文网其他相关文章!