我想在 mysql 中插入两个日期时间。
$taskcompdate 是用户编写的字符串,需要转换为日期时间对象并以“d/m/y”格式格式化。
第二个,$datenow 就是现在时间。
插入查询有效,但所有记录中的所有日期都显示为 0000-00-00 00:00:00
我尝试了所有可能的方法,但都没有用。我做错了什么?
<?php
$conn = mysqli_connect("127.0.0.1", "root", "", "todo_list");
$taskname = $_POST["taskname"];
$taskcompdate = $_POST["taskcompdate"];
$datenow = date("H:i:s d/m/y");
$insert_date1 = date('d/m/y', strtotime($taskcompdate));
$insert_date2 = date('H:i:s d/m/y', strtotime($datenow));
$sql_main = "INSERT INTO task_main (task, complete_date, added_date) VALUES ('$taskname', '$insert_date1', '$insert_date2')";
$result = mysqli_query($conn, $sql_main);
if ($result) {
echo 'success';
} else {
echo 'failure' . mysqli_error($conn);
}
?>
最佳答案
您的日期格式对于 MySQL 的日期和日期时间类型无效。它们必须采用 YYYY-MM-DD HH:MM::SS 格式。
$insert_date1 = date_format($taskcompdate, "Y-m-d");
$insert_date2 = date('Y-m-d H:i:s', strtotime($datenow));
关于php - 无法将字符串或日期时间对象插入 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32936020/