2016-10-18 19 views
0

ユーザは自分のメールアドレスを書いてニュースを購読することができますが、1つのIPアドレスが1日あたり5つ以上のメールアドレスを送信しないようにします。 DBに日付、IP、電子メールを挿入していますが、クエリの2つのdatetimesを比較する方法はわかりません。誰かが私に質問を書くのを助けることができますか?php(クエリで2つのdatetimesを比較)

if(isset($_POST["send"])){ 

    $email = $_POST['email']; 
    if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) { 
     $query = 'INSERT INTO subscriber(data, ip, email) 
        SELECT CURRENT_TIMESTAMP, "'.$_SERVER['REMOTE_ADDR'].'", "'.$email.'" 
        FROM dual 
        WHERE NOT EXISTS (
        SELECT * FROM subscriber 
        WHERE email="'.$email.'" 
       )'; 
     $result = mysqli_query($dbc, $query) or die(mysqli_error($dbc)); 
     $msg="Email sent successfully"; 
    } 
    else { 
     $msg="Error"; 
    } 
} 
+0

はい私はタイムスタンプを持っています。 –

答えて

0

私は分かりづらいと思います。私は間違っているだろうことができるが、私はあなたがこの

INSERT INTO iwaki_alphabet (data, ip, email) (SELECT CURRENT_TIMESTAMP, "'.$_SERVER['REMOTE_ADDR'].'", "'.$email.'" FROM dual where NOT EXISTS (Select count(email) as c FROM (
SELECT email FROM iwaki_alphabet WHERE ip="'.$_SERVER['REMOTE_ADDR'].'" and DATE(`data`) = CURDATE() group by email) as a having c>5)) 

はちょうどあなたが上記の事か別の何かが必要であることを確認して、私を確認する必要があると思います。

関連する問題