-6

只是无法让它发挥作用。我想检查该用户在过去 7 天内是否购买了 45 美元或更多的出价包。

    $big_amount="45";
    //check if the user has purchased bids
    $strFind="SELECT * FROM `prepaypal` WHERE `memid`=\"$curmemid\" AND `success`='Y' 
    AND `pid`='0' AND `amount`>=\"$big_amount\" BETWEEN NOW() and DATE_SUB
    (`date`, INTERVAL 7 DAY) ORDER BY `date` DESC LIMIT 1";
    //echo $strFind;
    $result=mysql_query($strFind) or die(mysql_error());
    $row=mysql_fetch_array($result);
    $bought_bids=$row['id'];
4

1 回答 1

0

那个 select 语句根本不对,你应该这样做:

SELECT * FROM `prepaypal` WHERE `memid`= $curmemid AND `success`='Y' AND `pid`='0' AND `amount`>=$big_amount where date >= SYSDATE() - INTERVAL 7 day order by date DESC;

SYSDATE()返回函数执行的时间,interval 设置给定日期之间的时间段。优化查询并从数据库中获取特定值也比这样做更好,"SELECT *" 例如:SELECT Field1, Field2, Field3 from table;

MySQL_ PHP 函数也已弃用,因此您不应再使用它们。我会坚持使用 Mysqli 或 PDO 准备好的语句。

如果这不符合您的正确答案,请随时投反对票。

于 2012-11-03T19:29:55.920 回答