Transactions with PHP

Asked

Viewed 200 times

0

Guys, I’m having a problem with PHP Transactions. The transaction only stores the second part of the code, the first table is showing that it is empty, taking into account that the algorithm runs everything and no error occurs. Below the code.

<?php
    require "conexao01.php";

    function filtrarDados($dado) {
        $dado = trim($dado);
        $dado = stripslashes($dado);
        $dado = htmlspecialchars($dado);

        return $dado;
    }



    if ($_SERVER["REQUEST_METHOD"] == "POST"){

        $connecting = conectaAoMySql();

        $msg = "";

        $especialdade = $medico = $data = $horario = $nome = $telefone = "";

        $especialdade = filtrarDados($_POST["especialidades"]);
        $medico = filtrarDados($_POST["medico"]);
        $data = ($_POST["dataConsu"]);
        $horario = ($_POST["horaConsult"]);
        $nome = filtrarDados($_POST["UnomePaciente"]);
        $telefone = filtrarDados($_POST["uTelPaciente"]);

        try {    

            $connecting->begin_transaction();

            if (! $connecting->query("insert into Paciente (Id, Nome, Telefone) VALUES (null, '$nome', '$telefone')"))   
             throw new Exception ('Erro ao inserir dados');

             if (! $connecting->query("insert into Agenda (Especialidade, Medico, DataConsulta, Horario, codId) VALUES ('$especialdade', '$medico', $data, '$horario', LAST_INSERT_ID())"))
             throw new Exception ('Erro ao inserir dados');

             $connecting->commit();
             echo "Executado com Sucesso!";
        }
        catch (Expection $e) {
                $connecting->rollback();

                echo "Ocorreu um erro na transação: " . $e->getMessage();
        }
    }
?>

someone could help out?

  • 1

    The auto commit is disabled? $connecting->autocommit(FALSE);

  • @Guilhermecostamilam is equal to the code above.

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.