DateTime和DateFormat突然无法在PHP中运行

时间:2018-04-21 22:24:03

标签: php date datetime format

我正在尝试创建一个引用页面,您可以在其中查看您使用作者,报价和日期发布的帖子。

让我重新说一下。当我尝试使用php页面将新条目添加到数据库中时,它将其输入到数据库中: 0000-00-00 00:00:00

何时应该进入该时刻的日期和时间。

这是我的代码段。 ...在视图帖子页面代码中回显日期。

echo $date_entered = date("F d,Y", strtotime($row['date_entered']));

...将新条目插入数据库页面代码...     $ sql =" INSERT INTO引号(作者,引用,date_entered)VALUES(' $ author',' $ quote',' $ date_entered')& #34 ;;

这是我的表单代码:

<body>
    <form action=""add_quote.php method="post" enctype="multi-part/form-data">
        <input placeholder="Author" name="author" type="text" autofocus size="48"><br /><br />
        <textarea placeholder="Quote" name="quote" rows="20" cols="50"></textarea><br />
        <input name="post" type="submit" value="Add Quote">
    </form>

</body>

我在这里搜索过任何答案,以及谷歌搜索和bing它没有运气。请帮助!

2 个答案:

答案 0 :(得分:1)

这是简写:
如果您确定$row['date_entered']的格式为2018-04-13 18:46:01,正如您所声明的那样,您只需执行

$sql = "INSERT INTO quotes (author, quote, date_entered) VALUES ('$author', '$quote', '{$row['date_entered']}')";

没有任何重新格式化。

如果您想确保进行简短的重新格式化:

$date_entered = new DateTime($row['date_entered'])->format('Y-m-d H:i:s');   
$sql = "INSERT INTO quotes  (author, quote, date_entered) VALUES ('$author', '$quote', '$date_entered')";

答案 1 :(得分:0)

你应该使用如下,

$d = new DateTime($row['date_entered']);
$date_entered = date("Y-m-d H:i:s", strtotime($d->format('Y-m-d H:i:s')));
$sql = "INSERT INTO quotes  (author, quote, date_entered) VALUES ('$author', '$quote', '$date_entered')";

mysql DATETIME类型列格式应为:YYYY-MM-DD HH:MM:SS