在过去7天内

时间:2012-11-03 18:50:04

标签: php

无法让这个工作。我想检查一下这位用户是否在过去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'];

1 个答案:

答案 0 :(得分:0)

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

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编写的声明。

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