Good advice , Thank you! -- Paul Nowosielski Webmaster On Friday 30 June 2006 15:45, Adam Zey wrote: > Paul Nowosielski wrote: > > On Friday 30 June 2006 14:37, Brian Dunning wrote: > >> I have a table where I want to update each record with today's date > >> as it's hit, or add the record if it's not in there: > >> > >> +------+-----------------+------------+ > >> > >> | id | creation_date | last_hit | > >> > >> +------+-----------------+------------+ > >> > >> I'm trying to do this with a minimum of hits to the db, so rather > >> than first searching to see if a matching record is in there, I > >> thought I'd just go ahead and update the matching record, check to > >> see if it failed, and if it failed then add a new one, like this: > >> > >> $id = $_GET['id']; > >> // Update > >> $query = "update table set last_hit=NOW() where id='$id'"; > >> $result = mysql_query($query); > >> // Add > >> if(the update failed) { > >> $query = "insert into table (id,creation_date,last_hit) values > >> ('$id',NOW(),NOW())"; > >> $result = mysql_query($query); > >> } > >> > >> What's the fastest way to check if the update failed? > > > > This is from the php.net docs. > > > > Return Values > > > > For SELECT, SHOW, DESCRIBE or EXPLAIN statements, mysql_query() returns a > > resource on success, or FALSE on error. > > > > For other type of SQL statements, UPDATE, DELETE, DROP, etc, > > mysql_query() returns TRUE on success or FALSE on error. > > > > > > So if($result == 0){ > > do something; > > } > > No no no no no! Never like that! What you want is this: > > > if($result === false){ > do something; > } > > Never use 0 as a placeholder for false, and never use == to compare > boolean values. 0 is an integer, false is a boolean. Using === ensures > that result is false, and that it is a boolean that is false. It > compares the value AND the type. > > Regards, Adam. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php