我只是想知道是否有一种方法可以只调用一次数据库来完成此过程。我基本上需要计算数据库中今天日期早于字段“date_out”+ 7 天的条目。我在想:
$today = date("Y-m-d"); //this is the format of date_out in my db!
$count_query = "SELECT count(*) FROM `group` WHERE ADDDATE('date_out', INTERVAL 7 DAY) <= $today ";
$count_result = mysql_query($count_query) or trigger_error("SQL", E_USER_ERROR);
$query_data = mysql_fetch_row($count_result);
$number_ty = $query_data[0];
if ($number_ty >= 1) {
// do something
}
Run Code Online (Sandbox Code Playgroud)
对于此代码,$number_ty 始终为 0。如前所述,此问题的目标是了解是否可以仅通过一次 mysql 调用(而不是两次)来完成计数。我的目标只是简单、干净和懒惰:-)
谢谢!
你不应该引用date_out
:
ADDDATE(date_out, INTERVAL 7 DAY)
Run Code Online (Sandbox Code Playgroud)
你应该引用$today
:
<= '$today'
Run Code Online (Sandbox Code Playgroud)
这是一个更正的查询。不过,我建议您研究一下 Mysqli 或 PDO。您正在使用的库已被弃用。
$count_query = "SELECT count(*) FROM `group` WHERE ADDDATE(date_out, INTERVAL 7 DAYS) <= '$today'";
Run Code Online (Sandbox Code Playgroud)