public function excluirProvaDAO(Prova $prova){ $banco = $this->getBancoDados(); $sql = "SELECT count(*) AS qtde FROM tbl_prova JOIN tbl_disciplina USING(disciplina) WHERE tbl_disciplina.instituicao = ".$this->_login_instituicao." AND tbl_prova.prova = ".$prova->getId(); $retorno = $banco->executaSQL($sql); if($retorno != NULL) { $linha = mysql_fetch_array($retorno); if ($linha['qtde'] == 0){ throw new Exception("Prova não encontrada!"); } } else { throw new Exception("Erro ao excluir a prova. ($sql)"); } $query = " DELETE FROM tbl_prova_aluno_email WHERE prova = ".$prova->getId(); if(!$banco->updateSQL($query)) { throw new Exception("Erro ao excluir PROVA. ($query) "); } $query = " DELETE FROM tbl_prova_aluno_resposta WHERE prova_aluno_pergunta IN ( SELECT prova_aluno_pergunta FROM tbl_prova_aluno_pergunta WHERE tbl_prova_aluno_pergunta.prova = ".$prova->getId()." )"; if(!$banco->updateSQL($query)) { throw new Exception("Erro ao excluir PROVA. ($query) "); } $query = " DELETE FROM tbl_prova_aluno_pergunta WHERE prova = ".$prova->getId(); if(!$banco->updateSQL($query)) { throw new Exception("Erro ao excluir PROVA. ($query) "); } $query = " DELETE FROM tbl_prova_aluno WHERE prova = ".$prova->getId(); if(!$banco->updateSQL($query)) { throw new Exception("Erro ao excluir PROVA. ($query) ".$banco->mysql_error()); } $query = " DELETE FROM tbl_prova_resposta WHERE prova_pergunta IN ( SELECT prova_pergunta FROM tbl_prova_pergunta WHERE prova = ".$prova->getId()." )"; if(!$banco->updateSQL($query)) { throw new Exception("Erro ao excluir PROVA. ($query) "); } $query = " DELETE FROM tbl_prova_pergunta_imagem WHERE prova_pergunta IN ( SELECT prova_pergunta FROM tbl_prova_pergunta WHERE prova = ".$prova->getId()." )"; if(!$banco->updateSQL($query)) { throw new Exception("Erro ao excluir PROVA. ($query) "); } $query = " DELETE FROM tbl_prova_pergunta WHERE prova = ".$prova->getId(); if(!$banco->updateSQL($query)) { throw new Exception("Erro ao excluir PROVA. ($query) ".$banco->mysql_error()); } $query = " DELETE FROM tbl_prova_topico WHERE prova = ".$prova->getId(); if(!$banco->updateSQL($query)) { throw new Exception("Erro ao excluir PROVA. ($query) "); } $query = " DELETE FROM tbl_prova WHERE prova = ".$prova->getId(); if(!$banco->updateSQL($query)) { throw new Exception("Erro ao excluir PROVA. ($query) 2".$banco->mysql_error()); } }