|
Posted by Jerry Stuckle on 01/02/08 01:58
Aaron Gray wrote:
> "Rik Wasmus" <luiheidsgoeroe@hotmail.com> wrote in message
> news:op.t392n4xa5bnjuv@metallium.lan...
> On Wed, 02 Jan 2008 01:50:20 +0100, Aaron Gray <ang.usenet@gmail.com>
> wrote:
>
>> I have a MySQL table of pages each with a 'title' and 'page' fields.
>>
>> How do I do either an UPDATE if the pages 'title' exists or an INSERT if
>> it
>> does not ?
>>
>> The code I have written does not seem to do the job correctly.
>>
>> $result = mysql_query( "SELECT page FROM pages WHERE title = '" .
>> $title
>> . "';");
>>
>> $row = mysql_fetch_array( $result, MYSQL_ASSOC);
>>
>> if ( isset( $row["title"]) && $row[title] == $title)
>> {
>> $result = mysql_query( "UPDATE pages SET page = '". $page . "'
>> WHERE
>> title = '" .$title . "';");
>> if ($result)
>> mysql_query( "COMMIT;");
>> }
>> else
>> {
>> $result = mysql_query( "INSERT INTO pages SET title ='" . $title
>> .
>> "', page = '" . $page . "';");
>> if ($result)
>> mysql_query( "COMMIT;");
>> };
>>
>> This code is buggy and doing an insert rather than an update. How would
>> you
>> approach this task ?
>
> It could be done with one easy query, look into ON DUPLICATE KEY UPDATE
> syntax, ask in comp.databases.mysql
>
> I need to keep the logic in PHP rather than using SQL.
>
> Aaron
>
>
>
Why? SQL is the correct place to handle this.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================
Navigation:
[Reply to this message]
|