Avatar ·

PHP日期格式用于插入MySQL的DATETIME字段:如何避免错误?

大家好!我是PHP和MySQL的新手,在将日期保存到数据库时遇到了问题。

我有一个表单,用户以dd.mm.yyyy格式输入日期(例如,25.12.2023)。我想将此日期保存到MySQL的DATETIME字段中。我使用PHP函数date()进行格式化,但一切都不正确。

这是我的代码:

<?php
$user_date = $_POST['user_date']; // 传入 "25.12.2023"
$formatted_date = date('Y-m-d H:i:s', strtotime($user_date));

$query = "INSERT INTO events (event_date) VALUES ('$formatted_date')";
mysqli_query($conn, $query);
?>

问题在于,数据库中写入的是1970-01-01 00:00:00或完全空字符串。我尝试了date()中的不同格式,但结果相同。请告诉我MySQL的DATETIME字段需要什么正确的日期格式?以及为什么strtotime()无法解析我的格式?