Ir para conteúdo
Fórum Script Brasil
  • 0

Uso do Statement no PHP


Fernando Pimenta

Pergunta

Olá!

Estou precisando de uma ajuda com o Statement do PHP.

Já pesquisei em vários sites e no manual, tentei seguir a risca mais me traz um erro que, também pesquisei sobre o erro no google e nenhuma solução me ajudou.

vide o erro:

Fatal error: Call to a member function bind_param() on a non-object in C:\wamp\www\sca\dao\telefoneDao.php on line 12

Minha classe:

<?php
require_once '../funcao/conexao.php';
require_once '../classes/telefone.php';
require_once '../query.php';

class telefoneDao {
    function create(Telefone $telefone){
        $retorno = null;
        try {
            $conexao = new conexao();
            $statement = $conexao->conecta()->prepare($telefone_create);
            $statement->bind_param('si',$telefone->getNumero(),$telefone->getSolicitante()->getId());
            $statement->execute();
            $statement->close();
            $retorno = true;
        } catch (Exception $e) {
            echo "&lt;script>alert('Erro ao tentar cadastrar telefone!');</script>";
            $retorno = false;
        }
        return $retorno;
    }
}
?>

Meu sql:

<?php
//telefone
$telefone_create = "INSERT INTO telefone (numero,solicitante_id) VALUES (?,?)";
?>

Minha conexao:

<?php 
class conexao {
    
    public function conecta() {
        $servidor = '127.0.0.1';
        $usuario = 'root';
        $senha = '';
        $banco = 'sca';

        $c = new mysqli($servidor,$usuario,$senha,$banco);
        
        if (mysqli_connect_errno()) {
            echo "&lt;script>alert('Erro de conexao!');</script>";
            return null;    
        }else {
            return $c;
        }
    }

}
?>

Se alguém puder me ajudar, pois estou começando com PHP OO a pouco tempo buscando alternativas de padronização.

Desde já agradeço.

Editado por Jonathan Queiroz
Remover palavra "ajuda" do título conforme regra 3.6 e adicionar tag's (Jonathan)
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Parceiro, este erro é retornado, porq você está acessando um método de um objeto que não foi instanciado.

não sei como você implementou suas classe, mas, parece que $statement não é um objeto válido. Ou seja, ele é non-object.

Se eu estiver errado, por favor me corrijam.

Abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Eu fiz uma mudança no codigo que parou de dá esse erro.

Ele passa pelo código, diz que salva, mas em meu BD não tem nada.

Alguém sabe o que pode ser?

Eu coloquei uns valores diretos para ver se esta adicionando e depois passo o certo, vindo da pagina. Coloquei a query diretamente também, ate mesmo por não saber o motivo de não estar carregando o valor da variavel $telefone_create.Vide abaixo:

<?php
require_once '../funcao/conexao.php';
require_once '../classes/telefone.php';
require_once '../query.php';

class telefoneDao {
    function create(Telefone $telefone){
        $retorno = null;
        $numero = "123";
        $solicitante = 1;
        try {
            $conexao = new conexao();
            if ($statement = $conexao->conecta()->prepare("INSERT INTO telefone (numero,solicitante_id) VALUES (?,?)")){
                echo 'teste';
                $statement->bind_param("si",$numero,$solicitante);
                $statement->execute();
                $statement->close();
                $retorno = true;
            }    
        } catch (Exception $e) {
            echo "<script>alert('Erro ao tentar cadastrar telefone!');</script>";
            $retorno = false;
        }
        return $retorno;
    }
}
?>

Executa e não salva. Será que falta algo?

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...