Personal security I decided to use Transaction, I hope it works like this:
Conclude only if all querys are running.
Do you suggest something better?
<?php
if (isset($_GET['deletar']) && $_GET['deletar'] == 'sim'):
$lojista = (int)$_GET['lojista'];
BD::conn()->beginTransaction();
$deletar_lojista = BD::conn()->prepare("DELETE FROM 'loja_lojistas' WHERE 'id' = :id");
$deletar_lojista->bindValue(':id', $lojista, PDO::PARAM_INT);
$deletar_lojista->execute();
if(!$deletar_lojista){
BD::conn()->rollBack();
}
$deletar_loja = BD::conn()->prepare("DELETE FROM 'admin_lojas' WHERE 'id_loja' = :id");
$deletar_loja->bindValue(':id', $lojista, PDO::PARAM_INT);
$deletar_loja->execute();
if(!$deletar_loja){
BD::conn()->rollBack();
}
// Apaga todas as fotos de produtos que o Lojista cadastrou
$deletar_fotos_produtos = BD::conn()->prepare("SELECT 'imagem' FROM 'loja_produtos' WHERE 'id_loja' = :id");
$deletar_fotos_produtos->bindValue(':id', $lojista, PDO::PARAM_INT);
$deletar_fotos_produtos->execute();
$foto = $deletar_fotos_produtos->fetchObject();
unlink('../../../www/produtos/'.$foto->imagem);
$deletar_produtos = BD::conn()->prepare("DELETE FROM 'loja_produtos' WHERE 'id_loja' = :id");
$deletar_produtos->bindValue(':id', $lojista, PDO::PARAM_INT);
$deletar_produtos->execute();
if(!$deletar_produtos){
BD::conn()->rollBack();
}
$deletar_produtos_pedidos = BD::conn()->prepare("DELETE FROM 'loja_produtos_pedidos' WHERE 'id_loja' = :id");
$deletar_produtos_pedidos->bindValue(':id', $lojista, PDO::PARAM_INT);
$deletar_produtos_pedidos->execute();
if(!$deletar_produtos_pedidos){
BD::conn()->rollBack();
}
$deletar_pedidos = BD::conn()->prepare("DELETE FROM 'loja_pedidos' WHERE 'id_loja' = :id");
$deletar_pedidos->bindValue(':id', $lojista, PDO::PARAM_INT);
$deletar_pedidos->execute();
if(!$deletar_pedidos){
BD::conn()->rollBack();
}
$deletar_categorias = BD::conn()->prepare("DELETE FROM 'loja_categorias' WHERE 'id_loja' = :id");
$deletar_categorias->bindValue(':id', $lojista, PDO::PARAM_INT);
$deletar_categorias->execute();
if(!$deletar_categorias){
BD::conn()->rollBack();
}
$deletar_subcategorias = BD::conn()->prepare("DELETE FROM 'loja_subcategorias' WHERE 'id_loja' = :id");
$deletar_subcategorias->bindValue(':id', $lojista, PDO::PARAM_INT);
$deletar_subcategorias->execute();
if(!$deletar_subcategorias){
BD::conn()->rollBack();
}
$deletar_pagamentos = BD::conn()->prepare("DELETE FROM 'admin_pagamentos' WHERE 'id_lojista' = :id");
$deletar_pagamentos->bindValue(':id', $lojista, PDO::PARAM_INT);
$deletar_pagamentos->execute();
if(!$deletar_pagamentos){
BD::conn()->rollBack();
}
$deletar_vencimentos = BD::conn()->prepare("DELETE FROM 'admin_vencimentos' WHERE 'id_lojista' = :id");
$deletar_vencimentos->bindValue(':id', $lojista, PDO::PARAM_INT);
$deletar_vencimentos->execute();
if(!$deletar_vencimentos){
BD::conn()->rollBack();
}
BD::conn()->commit();
echo "<script type='text/javascript'>
$.alert({
theme: 'black',
title: 'Deletado com sucesso!',
content: '',
icon: '',
confirmButton: 'OK',
confirmButtonClass: 'btn-primary',
animation: 'scale',
animationClose: 'top',
opacity: 0.5,
});
</script>";
endif;
?>