Galera, to com um problema violento aqui tem uns 3 dias, já tentei de N formas resolver, mas como sou iniciante no PHP OO e no PDO estou apanhando um pouco.
O erro é o seguinte:
Fatal error: Call to undefined method Banco::prepare() in D:\wamp\www\empresa\classes\Login.php on line 21
Se eu criar um new PDO no método verificaUsuario da classe Login, a query funciona normalmente e não existe erro.
Mas se eu instancio a classe Banco o erro persiste.
Alguma sugestao?
Classe Banco:
<?php
class Banco {
public $pdo;
public $db_user;
public $db_host;
public $db_name;
public $db_pass;
public function __construct($db_user, $db_host, $db_name, $db_pass) {
$this->db_user = "root";
$this->db_host = "localhost";
$this->db_name = "bdempresa";
$this->db_pass = "";
$this->conectarBanco();
}
function conectarBanco() {
try {
$this->pdo = new PDO("mysql:host=$this->db_host;$this->db_name", $this->db_user, $this->db_pass);
return $this->pdo;
} catch (PDOException $e) {
echo $e->getMessage();
}
}
}
?>
Classe Login:
<?php
require_once 'Banco.php';
class Login {
public $login;
public $senha;
public function __construct($login, $senha) {
$this->login = $login;
$this->senha = $senha;
}
public function verificaUsuario() {
$conexao = new Banco("localhost","bdempresa", "root", "" );
$sql = "SELECT * FROM usuarios WHERE login =:login AND senha =:senha";
$busca = $conexao->prepare($sql);
$busca->bindValue(":login",$login);
$busca->bindValue(":senha",$senha);
$busca->execute();
}
}
?>