Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Guilherme_90

[Resolvido] Call to undefined method

Recommended Posts

Boa tarde, pessoal.

Bom, deu um erro aqui que eu não estou conseguindo resolver. Alguém pode me ajudar?

O erro é o seguinte:

 

Fatal error: Call to undefined method Conexao::prepare() in C:\xampp\htdocs\futebol\site-futebol\class\Usuario.class.php on line 16

 

Estou usando PDO, vejam código:

 

Conexao.class.php

class Conexao{

   private $db = 'mysql:host=localhost; dbname=sisjogo';
   private $user = 'root';
   private $pass = '';
   public  $conn;

   public function conecta(){
       try{
           if($this->conn == null){
               $pdo = new PDO($this->db, $this->user, $this->pass);
               $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
               $this->conn = $pdo;
               return $this->conn;
           }
       }

       catch(PDOException $e){
           throw new Exception("Mensagem: " .$e->getMessage(). "Código de erro: " .$e->getCode());
           return false;
       }

   }//conecta

}

 

Usuario.class.php

if(file_exists('Conexao.class.php')){
   require_once ('Conexao.class.php');
}


class Usuario{

   function Usuario(){
       $this->con = new Conexao();
   }

   public function insere(){

       try{
           $sqlInsere = $this->con->prepare('INSERT INTO '.TB_USUARIO.'(nome, email, login, senha, estado) VALUES(
               "'.htmlentities($_POST['nome']).'",
               "'.$_POST['email'].',
               "'.htmlentities($_POST['login']).'",
               "'.md5($_POST['senha'].'#$!?@*¬').'",
               "'.$_POST['estado'].'")');

           $sqlInsere->execute();
           /*if($sqlInsere){
               header('Location: ../?pag=telaCadastro');
           }

           else{
               header('Location: ../?pag=telaCadastro');
           }*/
       }

       catch(PDOException $e){
           throw new Exception('Erro código: ' .$e->getCode(). '\nMensagem: ' .$e->getMessage());
       }

   }

}

 

Alguém pode me ajudar? Quais erros tem nas minhas duas classes e métodos? Muito obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como o log já diz, método prepare() indefinido na classe Conexao.

 

Esse método é da classe, PDO.

 

Sua classe Conexao.class.php deve ter um extends há classe PDO:

 

class Conexao extends PDO{
}

 

Segue link da classe PDO : link

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela ajuda, amigo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.