Bom dia amigo.
Eu segui a ajuda que deu e fiz, e funcionou!!! Agora, poderia me ajudar dizendo se estou usando as melhores praticas para a programação?
No final, ficou asssim:
Categoria_forms.php
Contém os formulários para adição, edição, exclusão, etc.
Categoria_funcoes.php
Trata os chamados dos forms, onde coloquei:
$dao = new CategoriaDao();
$categoria -> setNome($_POST['nome']);
$conecta01 -> beginTransaction();
$conecta02 -> beginTransaction();
try{
$dao -> adiciona($categoria, 'tipo01', $conecta01);
$dao -> adiciona($categoria, 'tipo02', $conecta02);
$conecta01 -> commit();
$conecta02 -> commit();
$_SESSION['mensagem'] = 'Categoria adicionada com sucesso!';
header("Location: Categoria_forms.php");
}catch (PDOException $error){
$conecta01 -> rollback();
$conecta02 -> rollback();
$_SESSION['mensagem'] = 'Não foi possível adicionar a categoria.';
header("Location: Categoria_forms.php");
}
Depois:
CategoriaDao.php
class CategoriaDao{
function adiciona(Categoria $categoria, $tipo, $conexao){
$sql = 'INSERT INTO '.$tipo.'_categoria (cat_nome) ';
$sql .= 'VALUES (:nomeCategoria)';
$query = $conexao->prepare($sql);
$query->bindValue(':nomeCategoria', $categoria->getNome(), PDO::PARAM_STR);
return $query->execute();
}
}
No fim, funcionou exatamente como queria, executa as 2 instruções e caso uma delas dê problema, não executa nenhuma. Mas esta é a melhor forma de construir um código “cheiroso”??? rsrs