Lists: | Postg토토 핫SQL : Postg토토 핫SQL 메일 링리스트 : 2008-03-12 이후 PGSQL-PHP 08:47 |
---|
From: | "A B" <gentosaker(at)gmail(dot)com> |
---|---|
To: | pgsql-php(at)postgresql(dot)org |
Subject: | first transactions |
Date: | 2008-03-12 08:47:33 |
Message-ID: | dbbf25900803120147l6900fc28rac8b5789f95b4a27@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | Postg토토 핫SQL : Postg토토 핫SQL 메일 링리스트 : 2008-03-12 이후 PGSQL-PHP 08:47 |
Hello.
I think I need some help on making it clear on how to use transactions
in php in a "correct" way.
Lets consider this code/pseudocode
function dostuff()
{
$db = pg_pconnect...;
pg_query("begin work",$db);
$result = pg_query("select ***",$db);
$result = pg_query("insert ***",$db);
if previous query failed, then rollback and return false
else
{
$result = pg_query("update ***",$db);
$result = pg_query("select ***",$db);
$result = pg_query("insert ***",$db);
$result = pg_query("update ***",$db);
pg_query("commit,$db);
if everything was successfully committed
return true;
else
return false or some other kind of error status to tell what went wrong.
}
} //end function
So the question is: how do I write the pseudocode parts in php?
Any other general suggestions on how to make the function more "fool
proof" is appreciated. :-)
From: | Jeff MacDonald <jam(at)zoidtechnologies(dot)com> |
---|---|
To: | pgsql-php(at)postgresql(dot)org |
Cc: | "A B" <gentosaker(at)gmail(dot)com> |
Subject: | Re: first transactions |
Date: | 2008-03-12 16:29:03 |
Message-ID: | 200803121229.04237.jam@zoidtechnologies.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | Postg토토 베이SQL : Postg토토 베이SQL 메일 링리스트 : 2008-03-12 이후 PGSQL-PHP 16:29 |
On Wednesday 12 March 2008 4:47:33 am A B wrote:
> Hello.
>
> I think I need some help on making it clear on how to use transactions
> in php in a "correct" way.
>
> Lets consider this code/pseudocode
>
[...snipped...]
> So the question is: how do I write the pseudocode parts in php?
> Any other general suggestions on how to make the function more "fool
> proof" is appreciated. :-)
I recommend use of PEAR::MDB2[1] or "PDO"[2].. typically what I do is run
the query, rollback if error, continue if not. if you want to be extra
thorough using MDB2, you can check to make sure the database supports
transactions, and after a "begin" you can make sure that the transaction has
been started. my understanding is that PDO has a *very* similar interface to
MDB2, except that PDO is written in C.
hope that helps some.. if you have more questions post again or email me
directly.
regards,
jeff
[1] http://pear.php.net/mdb2
[2] http://php.net/pdo
--
http://zoidtechnologies.com/
"websites that suck less"