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?
The auto commit is disabled?
$connecting->autocommit(FALSE);
– Costamilam
@Guilhermecostamilam is equal to the code above.
– Gabriel