views:

37

answers:

1

I'm experimenting with transactions for the first time in mySQL.

I am wondering if it is safe to use mysqli_multi_query for this purpose. That is, can I assume that if any of the SQL statements fails, everything will be rolled back?

    $query = "
        START TRANSACTION;
        (a bunch of SQL statements)
        COMMIT;
    ";

    if (mysqli_multi_query($connection, $query)) {
        do {
            if ($result = mysqli_store_result($connection)) mysqli_free_result($result);
        } while (mysqli_next_result($connection));
    }

Thanks,

A: 

Yes, mysqli_multi_query handles MySQL Transaction using InnoDB's.

Gary