|  | Posted by Rik on 07/18/06 18:58 
bobmct wrote:> Rik wrote:
 >
 >> bobmct wrote:
 >>> In my feeble attempt to keep track of login session timeouts I have
 >>> the following code in my login section of my program:
 >>>
 >>>         $sql = "UPDATE subscriber
 >>>         SET _sessexp = 'DATE_ADD(NOW(),INTERVAL 15 MINUTES)'
 >>>         WHERE _userid = '$_userid'
 >>>         LIMIT 1";
 >>>
 >>> and when run I see NO ERRORS.  However, either the field in the DB
 >>> doesn't change OR this expression is generating a value of '0' for
 >>> the _sessexp field.
 >>>
 >>> I've tried using the ADDTIME function as an alternative but get the
 >>> same results.  I'm kind of at a loss.
 >>>
 >>> Any ideas as to why this is NOT behaving as I expect it to?
 >>>
 >>> What I am attempting to do is to take the CURRENT TIME and add 15
 >>> minutes to it and update a field in the database record.  That
 >>> simple!
 >>
 >> First of all, you try to add the string 'DATE_ADD(NOW(),INTERVAL 15
 >> MINUTES)' to a date field, which is invalid and will result to 0.
 >> Remove the quotes.
 >> Grtz,
 >
 >
 > Well, OK;
 >
 > Already tried that first.  With/without, single/double, doesn't seem
 > to matter.
 > Re-tried your suggestion and the result STILL results in ONLY ZERO in
 > the field.
 
 DATE_ADD(NOW(), INTERVAL 15 MINUTE)
 
 NO 's' after MINUTE
 
 > However, can a time function's result be put into a
 > bigint field?
 
 I'm not sure what database you use, but in recent MySQL versions it will
 return a format of yyyy-mm-dd hh:mm:ss, not an integer.
 
 Do you by any chance mean UNIX_TIMESTAMP(DATE_ADD(NOW(), INTERVAL 15
 MINUTE))?
 
 Grtz,
 --
 Rik Wasmus
 [Back to original message] |