Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom pessoal estou com um problema aqui em minha consulta que acho qual é o problema mas não sei como resolver.
Tenho uma classe de conexão com o banco de dados usando mysqli.
/ arquivo conexao com o banco /
class DB{
public function conectar(){
// Localhost
$host = "localhost";
$user = "root";
$pass = "";
$database = "controle";
$mysqli = new mysqli($host, $user, $pass, $database);
// Check conexao
if (mysqli_connect_errno()) {
die('Erro ao conectar-se ao banco de dados: ' . mysqli_connect_error());
exit();
}
return $mysqli; /*** é necessário esse return?? Pois funciona sem... ****/
} // fim function conectarclass Login{
public function logar($login, $senha){
// Prepara uma consulta SQL
/* Essa é a linha 7 */
if ($sql = $mysqli->prepare("
SELECT nome, login, email, bloqueado
FROM usuarios
WHERE login <= ?
AND senha <= ? ")) {
// Atribui valores às variáveis da consulta
$sql->bind_param('ss', $login, $senha);
// Executa a consulta
$sql->execute();
// Atribui o resultado encontrado a variáveis
$sql->bind_result($nome, $login, $email, $bloqueado);
// Para cada resultado encontrado...
while ($sql->fetch()) {
// Exibe o resultado...
} // fim while
// Fecha a consulta
//$sql->close();
} else{
echo "Erro";
}
} // fim da function logarFatal error: Call to a member function prepare() on a non-object in C:\xampp\htdocs\financeiro\class\Login.class.php on line 7
Esse erro é bem na consulta... pelo que entendi ele não conesegue "reconhecer" a conexão com o banco...
Se eu coloco a conexão com o banco dentro da class Login ele funciona!!! Estranho não fucionar com o include...
Na index tem os includes dos arquivos acima e a conexão fica assim:
// Conexao com o banco de dados
$conectar = new DB;
$conectar = $conectar->conectar();Obrigado.
Carregando comentários...