Re: newbie - problems with Select and timestamp(14) calculation

From: Date: Thu, 18 Oct 2001 14:43:21 +0000
Subject: Re: newbie - problems with Select and timestamp(14) calculation
References: 1  Groups: php.db 
Request: Send a blank email to php-db+get-13487@lists.php.net to get a copy of this message
On Thursday 18 October 2001 18:41 pm, p.whiter wrote: > Hi > I am trying to set-up a type of anti-flood block on one of my forms, > the way I am doing this is that when the first submission is made I > log various details into a user_log table including IP no and a > Timestamp (14) column called log_time. Now if the button is clicked > again the php script will run the following query: > > SELECT user_ip FROM clinic_log WHERE user_ip = '$pw_userIP' AND > (((NOW()+0) - clinic_log.log_time ) < 300) > > What I am (trying) doing here is to check the users IP ($pw_userIP) > against the user_ip column in the database and if it matches then > check to see whether it has been there for less than 300 seconds. > > I have just spent the last couple of hours trying to get this > working......it doesn't want to know. It keeps finding the matching > IP and disregarding the time calculation...... > > Thanks for any help. > Paul I think you'll find NOW() to be the wrong function to use, as per manual: Returns the current date and time as a value in 'YYYY-MM-DD HH:MM:SS' or YYYYMMDDHHMMSS format, depending on whether the function is used in a string or numeric context: mysql> select NOW(); -> '1997-12-15 23:50:26' mysql> select NOW() + 0; -> 19971215235026 As you can see what it returns is clearly unsuitable for what you have in mind. Your best bet is probably to use UNIX_TIMESTAMP(). regards -- Jason Wong Gremlins Associates www.gremlins.com.hk

« previous php.db (#13487) next »