You are correct. You cannot have a transaction span multiple pages/scripts.
reiner peterke wrote:
there seems to be very little info around on actually using
transactions with postgres. i've tried to create a page that will
take input from a form and insert it into my database. it works if i
just do it without transactions but when i try to use with the begin
and commit sections of code, it doesn't update the data base. i'm
guessing it is doing a rollback when my page loads itself again. can
anyone help me out here ?
thanks
r
code below
<html>
<head>
<submitle>those eyes</submitle>
</head>
<body>
<?
$conn = pg_connect("dbname=entish user=postgres");
if(!$conn)
{
print "not for the chocolate";
exit;
}
if ($_POST[submit]) {
$begin = pg_query("begin");
$isql = "insert into diety(diety,culture,gender)
values
('$_POST[diety]','$_POST[culture]','$_POST[gender]')";
printf("-- %s --\n",$isql);
$results = pg_query($isql);
?>
<form method="post" action="<? echo $PHP_SELF?>">
<input type="Submit" name="action" value="commit">
<input type="Submit" name="action" value="rollback">
</form>
<?
}
else if(!$_POST[action]) {
?>
<form method="post" action="<? echo $PHP_SELF?>">
Diety:<input type="text" name="diety"><br>
Culture:<input type="text" name="culture"><br>
Gender:<input type="text" name="gender"><br>
<input type="Submit" name="submit" value="enter">
</form>
<?
}
else {
if($_POST[action] == 'commit') {
echo "let me see";
$act = pg_query("commit");
}
else {
$act = pg_query("rollback");
}
} //end if $_POST[submit]
?>
</body>
</html>
---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend