Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde pessoal, sou novo com POO estou fazendo um site(php4 infelizmente) de series que segue o seguinte principio:
tabelas serie,episodios,fotos,links
*voce cadastra uma serie
*somente pode cadastrar episodios de series já cadastradas
*fotos e links somente de episodios cadastrados
esses relacionamento serão controlados pela aplicação.
O grande problema é que quando eu dou uma query que é barrada pelo SGBD por exemplo inserir uma chave primaria duplicada o metodo nao me retorna o erro, simplesmente não é inserido, e fica em branco.
a programação resumido e comentado:
classe db
class DB{
//o metodo para dar query, nunca retorna o "Erro ao executar query"
function sql($query){
$this->query = $query;
if($result = mysql_query($this->query,$this->link)){
return $result;
}else{
return "Erro ao executar query";
}
}
}class episodio{
function CadastraEpisodio($id,$id_serie,$sinopse,$nome){
$this->SetId($id);
$this->SetIdSerie($id_serie);
$this->SetSinopse($sinopse);
$this->SetNome($nome);
$db = new DB();
$db->sql("INSERT INTO `cinefree_series`.`episodio` (`id`,`id_serie`,`nome`,`sinopse`) VALUES ('".$this->GetId()."','".$this->GetIdSerie()."','".$this->GetNome()."','".$this->GetSinopse()."');");
}
//nunca retorna o "Serie não cadastrada" a intenção aqui é matar a aplicacao para não tentar inserir a query
function SetIdSerie($valor){
$db = new DB();
if((count($db->sql("SELECT * FROM series WHERE id='".$valor."';")))==1){
$this->id_serie = $valor;
}else{
die("Serie não cadastrada");
}
}
}<?php
include("../Controle/episodio.php");
$episodio = new episodio();
$episodio->CadastraEpisodio(2,5,'Episodio muito legal','Pilot');
?>
sabem o porque que não esta retornando o erro?
tambem gostaria de opinioes do pessoal mais experiente com OO para saber se estou programando certo, apesar de não ter modificadores de acesso tentei fazer o encapsulamento. minha abstração está correta?
Carregando comentários...