sql >> データベース >  >> RDS >> Mysql

ORDER_BY日付LIMIT1

    まず、次のようなプリペアドステートメントを使用する必要があります。

    $note = "SELECT * 
        FROM notify 
        WHERE seeker=:seeker AND donor=:donor 
        ORDER BY `date` DESC
        LIMIT 1";
    
    $st = $conn->prepare($note);
    $st->execute(array(
        ':seeker' => $_SESSION['email'],
        ':donor' => $email,
    );
    

    プレースホルダーがなくても、SQLインジェクションを利用できます。

    次に、この方法で文字列と整数を比較することはできません。

    $now = $time; // string
    $old_date = strtotime($found['date']); // integer
    $dateif = $now - $old_date; // dunno?
    

    リンゴとリンゴを比較する必要があります:

    $seven_days_ago = strtotime('-7 days');
    $old_date = strtotime($found['date']);
    
    if ($old_date > $seven_days_ago) {
        echo "difference between tow dates is less than 7 days";
    } else {
        echo "the difference between tow dates is 7 days or more";
    }
    


    1. Oracle SQL*Plusの使用方法

    2. Postgresql forC++でステートメントとバインドパラメータを準備する方法

    3. SQL Serverのビットフィールドにインデックスを付ける必要がありますか?

    4. OracleUpdateがハングする