-1

我仍然是 PHP 的初学者,但我需要一些帮助。我得到了评论的日期格式,我正在尝试插入“时间前”格式。我遇到了麻烦。这是代码:

<?php
$name = mysql_real_escape_string($_POST['name']);
$comment = mysql_real_escape_string($_POST['comment']);
$submit = $_POST['submit'];
$date = date("M jS Y | g:i a T");
$ip = "".$_SERVER['REMOTE_ADDR']."";

if($submit)
{
if($name&&$comment)
{

$query=mysql_query("

INSERT INTO comment (id, articleid, name, comment, date, ip) VALUES ('','".  mysql_real_escape_string($_GET['id']) ."','$name','$comment','$date','$ip')

");
header("Location: " . mysql_real_escape_string($_GET['id']) . "");

}
else
{
    echo "<div class='red'>You must fill in all fields!</div>";
}

} ?>

这是输出:

<div class="article-body">
<div class="user"><b><?php echo $row['name'] ?></b> <span>says:</span></div> 
<div class="comments">
<?php echo $row['comment'] ?> <br /><p></p>

<p style="font-size:12px;">Posted on <b><?php echo $row['date'] ?></b></p>
</div>
</div>

我尝试使用谷歌摆弄几个代码,但没有成功,因为我是一个菜鸟。哈哈。

对此有什么看法吗?

谢谢!

4

1 回答 1

0

如果没有看到您的 MySQL 表架构/数据类型,我的猜测是您的date数据是无效date值。(我假设您的date专栏不是TEXTor VARCHAR

$date = date("M jS Y | g:i a T");

您可以添加or die(mysql_error)到您的查询以验证这一点 -

$query=mysql_query("INSERT INTO comment (id, articleid, name, comment, date, ip) VALUES ('','".  mysql_real_escape_string($_GET['id']) ."','$name','$comment','$date','$ip')") or die(mysql_error);

根据手册 - h​​ttp: //dev.mysql.com/doc/refman/5.6/en/datetime.html您的日期数据类型是datedatetimetimestamp

date => 'YYYY-MM-DD' => set in php using date("Y-m-d");
datetime => 'YYYY-MM-DD HH:MM:SS' => set in php using date("Y-m-d H:i:s");
timestamp => 0000000000 => set in php using strtotime(date("Y-m-d H:i:s"));
于 2012-11-30T01:05:04.457 回答