Обработка ошибок и транзакций с помощью MySQL Multi-запроса

Я работаю над своим первым приложением php/mysql и хотел проверить, правильно ли я реализовал транзакцию с использованием mysqli. Мой код на данный момент:

        $con_post = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE);
        $sql_query = 'Variable list of sql statements';

        if ($con_post)
        {
            mysqli_begin_transaction($con_post);
            mysqli_multi_query($con_post, $sql_query);

            if (mysqli_error($con_post))
            { 
                mysqli_rollback($con_post);
            }
            else
            { 
                mysqli_commit($con_post); 
                deliverResponse(200, "Success", true);
            }

            mysqli_close($con_post);
        }
        else
        {
            deliverResponse(503, "Error: Cannot connect to database", NULL);
        }

То, что я пытаюсь достичь, это:

  • Мультизапрос должен быть заключен в транзакцию, поэтому либо все операторы sql фиксируются, если ошибок нет, либо ни один из операторов не фиксируется, если один или несколько возвращают ошибку. Я не обязательно связан с определением того, какое конкретное утверждение (я) вызвало ошибку (и), что, по-видимому, связано с другими вопросами SO.

Спасибо

0 ответов

Другие вопросы по тегам