Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Seguinte, tenho uma função de 'insert' no banco, preciso capturar o seu retorno para executar uma ação
class crud
{
public function insert($fields, $value)
{
$this->sql_ins = "INSERT INTO " . $this->table . " ($fields) VALUES ($value)";
if(!$this->ins = mysql_query($this->sql_ins))
{
return 0;
}
else
{
return 1;
}
}
}
A chamada da função:
$crud = new crud('client');
$retorno = $crud->insert($campos, $conteudo);
Estou tentando pegar seu retorno assim:
if($retorno == 1) minha_funcao_ok;
} minha_funcao_erro;
}
Mas, não funciona.
A variavel $retorno assume o valor da função, se dar um 'echo' nela, ela imprime o 0 ou 1, mas, ao colocar a variavel $retorno no IF não funciona.Em vez de dar um 'echo' faz var_dump($resultado) já tive um problema idêntico....
Fiz um teste com seu código, e aqui funcionou, o que pode estar acontecendo:
1 - O php estar mandando um mensagem de erro/aviso com o retorno, coloco um 'error_reporting(0)' no arquivo da classe.
2 - O '1' não ser a mesma coisa que 1, jogue um var_dump($resultado) e veja se ele imprime algo como int(1);
3 - Mude de 0 e 1, pra false e true respectivamente, na função e no if.
4 - Verifique se 'minha_funcao_ok' e 'minha_funcao_erro' não estão com erros que parem o código.
5 - Tente chamar a classe assim "Crud::insert('campos','valor')".
para recuperar dados de função eu faço o seguinte.