【问题标题】:php mysql finding rows older than a day from date fealdphp mysql从日期字段中查找超过一天的行
【发布时间】:2013-04-06 21:02:37
【问题描述】:

应该是这样的:

  1. 在数据库中搜索超过一天的上传内容。
  2. 在列表中输出上传的 ID。

这是我目前所拥有的:

<?php
include 'config.php';
$connect = mysql_connect(DB_HOST, DB_USER, DB_PASS);
mysql_select_db(DB_NAME);

$timestamp = strtotime("-1 days");
$efined = mysql_query("SELECT * FROM uploads WHERE timestamp < '$timestamp'");
$efound = mysql_query($efined);
$enum = mysql_numrows($efound);
$ecount = 0;
echo $enum.'records were found.';
while ($ecount < $enum) {
    $euid = mysql_result($efound,$ecount,"uid");
    echo $euid.'<br>';
    $ecount++;
}
mysql_close($connect);
?>

目前,当有 3 天前的记录时,这不会输出任何内容。 我将如何指定日期格式?在我的数据库中,它看起来像这样:2013-04-02。 谢谢你的帮助, 乔希。

【问题讨论】:

标签: php mysql database time


【解决方案1】:

这个

   $enum=mysql_numrows($efound);

应该是

  $enum=mysql_num_rows($efound);

编辑。

像这样尝试你的 sql

   where  timestamp < date('now', '-1 days')

编辑:

你定义了两个mysql_query

改变这个

    $efined = mysql_query("SELECT * FROM uploads WHERE timestamp < '$timestamp'");

   $efined = "SELECT * FROM uploads WHERE timestamp < '$timestamp'";

【讨论】:

  • 第二个不在原来的问题里,我猜是编辑器的一个错字(原来的问题代码真的是一团糟)
  • 您好,抱歉,我使用的是屏幕阅读器,无法使用工具栏。我去试试这段代码。谢谢。
【解决方案2】:

你的错误...

$efined = mysql_query("SELECT * FROM uploads WHERE timestamp < '$timestamp'");
$efound=mysql_query($efined);
$enum=mysql_numrows($efound);

必须只有一个查询和错误的 num_rows 名称...

$sql= "SELECT * FROM uploads WHERE timestamp < '$timestamp'";
$efound = mysql_query($sql);
$enum = mysql_num_rows($efound);

附:旧的 myslq 函数支持在 PHP 5.4 结束。开始使用 myslqi 或 PDO mysql 对您有好处!

【讨论】:

    猜你喜欢
    • 2019-02-25
    • 2011-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-24
    • 1970-01-01
    相关资源
    最近更新 更多