0

我需要根据当前日期从过去 12 个月的 mysql 数据库中选择数据。我将日期作为 unix 时间戳保存在数据库中,但我的查询似乎不起作用。

$query="SELECT user_id, COUNT(first_name) AS member_count
FROM main_user
WHERE renew_date<'$time' AND renew_date>'$old_time' WHERE renew_date!=''";

基本上我需要计算所有有 renew_date 时间戳的 first_name 实例。

4

4 回答 4

5

您还有一个额外的WHERE地方应该使用AND

$query="SELECT user_id, COUNT(first_name) AS member_count
FROM main_user
WHERE renew_date<'$time' AND renew_date>'$old_time' AND renew_date!=''";
                                                    ^^^
于 2012-12-05T15:51:28.197 回答
3

您的查询中有错误,您有两个 WHERE 子句!

于 2012-12-05T15:51:34.900 回答
1

当您测试查询的返回值时,您会发现此错误和其他错误

$query = 'select ...';
$result = $mysqli->query($query);
if ($result === false) {
    // error handling
    echo $mysqli->error;
} else {
    // query successful
    // process result set
}
于 2012-12-05T15:58:30.913 回答
1

你放WHERE了两次。您可以在 mysql中使用From_UNIXTIME函数

WHERE FROM_UNIXTIME(renew_date)<NOW() 
    AND FROM_UNIXTIME(renew_date)> (NOW()-INTERVAL 1 year)
    AND renew_date !=''
于 2012-12-05T15:54:51.610 回答