Re: Update or add?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux