note 25354 added to ref.ibase
| From: | lars at dybdahl dot net | Date: | Fri, 20 Sep 2002 12:32:15 +0000 |
| Subject: | note 25354 added to ref.ibase | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-37035@lists.php.net to get a copy of this message | ||
It is not possible to use interbase/firebird without initiating transactions. It seems that
transactions are not automatically committed or rolled back at the end of a script, so remember to
end all interbase enabled scripts with ibase_rollback() or ibase_commit().
Worse is, that if you use ibase_pconnect (recommended), transactions survive from one request to the
next. So that if you don't rollback your transaction at the end of the script, another
user's request might continue the transaction that the first request opened.
This has two implications:
1) Clicking refresh in your browser won't make you see newer data, because you still watch data
from the same transaction.
2) Some php scripts might fail occassionally and not fail in other occasions, depending on with
apache server thread and thereby which transaction they start using.
Unfortunately, there is no such thing as
if (ibase_intransaction()) ibase_rollback();
so be sure that ALL your scripts end with an ibase_rollback() or ibase_commit();
--
http://www.php.net/manual/en/ref.ibase.php
http://master.php.net/manage/user-notes.php?action=edit+25354
http://master.php.net/manage/user-notes.php?action=delete+25354
http://master.php.net/manage/user-notes.php?action=reject+25354