Php 如何从MySQL表行获取日期和时间

Php 如何从MySQL表行获取日期和时间,php,mysql,date,time,fetch,Php,Mysql,Date,Time,Fetch,我在我的电脑上发现了一个旧的博客脚本(非常旧)。我在从数据库获取日期和时间以用PHP显示时遇到了麻烦。有人能帮我吗。 这是我的MySQL数据库设置 CREATE TABLE blog_posts ( id int(11) NOT NULL auto_increment, title varchar(30) NOT NULL default '', news text NOT NULL, poster varchar(15) NOT NULL default '', date

我在我的电脑上发现了一个旧的博客脚本(非常旧)。我在从数据库获取日期和时间以用PHP显示时遇到了麻烦。有人能帮我吗。
这是我的MySQL数据库设置

CREATE TABLE blog_posts (
  id int(11) NOT NULL auto_increment,
  title varchar(30) NOT NULL default '',
  news text NOT NULL,
  poster varchar(15) NOT NULL default '',
  date timestamp(14) NOT NULL,
  PRIMARY KEY  (id)
) TYPE=MyISAM;

这就是我用来发送邮件的方式:

<?php

include "db.php";   
    $title=$_POST['title'];
    $news=$_POST['news'];
    $poster=$_POST['poster'];

    $query="INSERT INTO $blogposts (title, news, poster) VALUES ('$title', '$news', '$poster')";
    $result=mysql_query($query) or die (mysql_error());

    mysql_close();

    header("Location: post.php");
?>

您似乎没有向insert命令中的日期字段添加任何值。您可以使用添加当前时间戳来添加插入期间的当前时间。要提取时间,您可以(a)从表中读取日期字段并使用PHP格式化时间,或者(b)使用


您还需要一些代码来读取PHP中的值,以便读取字段的值。您的问题中似乎缺少这一点。

您似乎没有在insert命令的日期字段中添加任何值。您可以使用添加当前时间戳来添加插入期间的当前时间。要提取时间,您可以(a)从表中读取日期字段并使用PHP格式化时间,或者(b)使用


您还需要一些代码来读取PHP中的值,以便读取字段的值。您的问题中似乎缺少了这一点。

您肯定没有定义任何试图使用的日期变量吗?

您肯定没有定义任何日期变量,您正在尝试使用的?

因为日期列具有时间戳数据类型,并且没有null约束,所以如果插入时日期列上没有发布数据,则它将具有默认的当前时间戳值

因此,为了获得您要求的结果,您可以尝试使用如下代码获取该数据:

$sql = "select id, title, news, poster, DATE_FORMAT(date,'%d.%m.%Y at %k:%i') as posteddate from blog_posts";
$result = mysql_query($sql);
while ($row = mysql_fetch_assoc($result)) {
    echo $row["title"]."<br/>";
    echo "By : " . $row["poster"]."<br/>";
    echo "posted on: -  " . $row["posteddate"]."<br/>"; //"posted on: - 03.03.2011 at 7:35"
}
$sql=“选择id、标题、新闻、海报、日期格式(日期,%d.%m.%Y在%k:%i')作为博客帖子的发布日期”;
$result=mysql\u查询($sql);
while($row=mysql\u fetch\u assoc($result)){
echo$row[“title”]。“
”; echo“By:”.$row[“poster”]。“
”; echo“发布日期:-“$row[“posteddate”]。”
“;/“发布日期:-2011年3月3日7:35” }
因为日期列具有时间戳数据类型,并且没有null约束,所以如果插入时日期列上没有发布数据,它将具有默认的当前时间戳值

因此,为了获得您要求的结果,您可以尝试使用如下代码获取该数据:

$sql = "select id, title, news, poster, DATE_FORMAT(date,'%d.%m.%Y at %k:%i') as posteddate from blog_posts";
$result = mysql_query($sql);
while ($row = mysql_fetch_assoc($result)) {
    echo $row["title"]."<br/>";
    echo "By : " . $row["poster"]."<br/>";
    echo "posted on: -  " . $row["posteddate"]."<br/>"; //"posted on: - 03.03.2011 at 7:35"
}
$sql=“选择id、标题、新闻、海报、日期格式(日期,%d.%m.%Y在%k:%i')作为博客帖子的发布日期”;
$result=mysql\u查询($sql);
while($row=mysql\u fetch\u assoc($result)){
echo$row[“title”]。“
”; echo“By:”.$row[“poster”]。“
”; echo“发布日期:-“$row[“posteddate”]。”
“;/“发布日期:-2011年3月3日7:35” }

对于记录,我尝试将调用更改为
对于记录,我尝试将调用更改为
我在想,代码中似乎缺少一个块是的,您的问题中缺少读取数据的部分。我在想,代码中似乎缺少一个块是的,你的问题中缺少了关于读回数据的部分。好吧,我很难理解你说的话。我来看看这个网站。编辑::看了一眼,一点线索也没有。我很好地读了其他几行<代码>
例如。这正是我遇到问题的日期,您可能需要阅读一些关于如何从表中读取数据的PHP MySQL教程。这可能有助于您检查表中的数据,以查看该日期字段是否实际有值。正如我提到的,insert不会向表中添加任何数据。如果您的日期字段为空,您将无法获得任何输出。好的,我很难理解您的意思。我来看看这个网站。编辑::看了一眼,一点线索也没有。我很好地读了其他几行<代码>
例如。这正是我遇到问题的日期,您可能需要阅读一些关于如何从表中读取数据的PHP MySQL教程。这可能有助于您检查表中的数据,以查看该日期字段是否实际有值。正如我提到的,insert不会向表中添加任何数据。如果日期字段为空,则不会获得任何输出。它返回错误“分析错误:语法错误,中出现意外“%”从日期\格式行我猜这是因为我没有MySQL v5.5IMHO,即使是从最旧的版本读取MySQL refman,它也有日期\格式功能请参阅ups抱歉我的错误我的sql日期\格式参数上的双引号引起的错误。我已经更新了代码示例。更改是从
DATE\u格式(日期,“%d.%m.%Y在%k:%i”)
更改为
DATE\u格式(日期,“%d.%m.%Y在%k:%i”)
my friend。我眼中的天才之作!!谢谢处理得很好。它从日期\格式行返回一个错误“Parse error:syntax error,意外“%”in..”。我猜这是因为我没有MySQL v5.5IMHO,即使从最旧的版本读取MySQL refman,它也有日期\格式函数请参阅ups抱歉,我的错误是由于我的sql日期\格式参数上的双引号引起的错误。我已经更新了代码示例。更改是从
DATE\u格式(日期,“%d.%m.%Y在%k:%i”)
更改为
DATE\u格式(日期,“%d.%m.%Y在%k:%i”)
my friend。我眼中的天才之作!!谢谢工作很愉快。
$sql = "select id, title, news, poster, DATE_FORMAT(date,'%d.%m.%Y at %k:%i') as posteddate from blog_posts";
$result = mysql_query($sql);
while ($row = mysql_fetch_assoc($result)) {
    echo $row["title"]."<br/>";
    echo "By : " . $row["poster"]."<br/>";
    echo "posted on: -  " . $row["posteddate"]."<br/>"; //"posted on: - 03.03.2011 at 7:35"
}