I have a Linux Server, with Apache 1.3.19 + PHP 4.0.6 and MySQL 3.23.37, and
i have a trouble with Transactions in PHP code:

When i write a transaction, and some error (PHP lang error) occurs, the
transaction are autocommited, and only part of the querys are made, with the
inconsistence of data, that this make, here a example of my problem:

.
.
.
// Start transaction
$q = "BEGIN WORK"
$db->query($q);
if( $db->errno) {
        echo "Can't start transaction.";
        return;
}

$q = "UPDATE ....";
$db->query($q);
if( $db->errno) {
        echo "Error.";
        $db->query( "ROLLBACK");
        return;
}

$q = "DELETE ....";
$db->query($q);
if( $db->errno) {
        echo "Error.";
        $db->query( "ROLLBACK");
        return;
}

// Here a error halts the code
exit; // halt by hand

// Some other querys
$q = "DELETE ....";
$db->query($q);
if( $db->errno) {
        echo "Error.";
        $db->query( "ROLLBACK");
        return;
}

$db->query("COMMIT");

In this example the $db->query("COMMIT"); command are never executed, and
the 2 first querys are executed, and the last and never executed.

How i can solve this??
Can anybody help me!!

-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to