Deletar em duas tabelas simultaneamente com PDO
Muito bem pessoal agradeço desde já a força. Antes eu deletava na boa das duas tabelas utizando deste código:
if(isset($_POST['deletar'])){
$id = $_POST['id'];
$contar = count($id);
$pasta = '../image/foto';
for($i=0;$i<$contar;$i++){
$deletar = $id[$i];
$excluir_img = mysql_query("SELECT * FROM foto WHERE album_id = $deletar");
while($resImg = mysql_fetch_array($excluir_img)){
$nomeImg = $resImg['foto'];
unlink($pasta.'/'.$nomeImg);
}
$excluir_album = mysql_query("DELETE FROM album WHERE album_id = $deletar");
$excluir_album .= mysql_query("DELETE FROM foto WHERE album_id = $deletar");#o ponto (.) serve para concatenar e deletar nas duas tabelas do banco de dados ao mesmo tempo
}
}
E agora? Utilizando de PDO como fica?
Então... acabei queimando um pouco os neurônios e descobri como fazer o código em PDO.
Ficou assim:
if(isset($_GET['action']) && $_GET['action'] == 'deletatudo'){
$id = (int)$_GET['id'];
$sqlSelectudo=$con->prepare('SELECT * FROM foto, noticia WHERE foto.id_noticia = :id_noticia AND noticia.id_noticia = :id_noticia');
$sqlSelectudo->bindValue(':id_noticia', $id, PDO::PARAM_INT);
$sqlSelectudo->execute();
$rowCount=$sqlSelectudo->rowCount();
if($rowCount <= 0){
echo'<script>alert("Não há fotos relacionadas à Notícia");</script>';
}else{
$result = $sqlSelectudo->fetch(PDO::FETCH_OBJ);
$foto = $result->foto;/*busco o nome da imagem a ser deletado**/
$sqlDeleta = unlink('../../_image/noticia/'.$foto.'');
$sqlDeletatudo=$con->prepare('DELETE foto.*, noticia.* FROM foto,noticia WHERE foto.id_noticia = :id_noticia AND noticia.id_noticia = :id_noticia');
$sqlDeletatudo->bindValue(':id_noticia', $id, PDO::PARAM_INT);
$sqlDeletatudo->execute();
$rowCountudo=$sqlDeletatudo->rowCount();
}
if($rowCountudo >0);
echo "Arquivo deletados com sucesso";
}else{
echo "nenhum arquivo encontrado";
}
Espero que seja útil a alguém... mas se puderem mostrar uma outra maneira mais rápida e eficaz, também acho interessante.
Para o que eu precisava está OK.
Tópico resolvido.
Discussão (0)
Carregando comentários...