-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 に答える