Ir para conteúdo

Arquivado

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

edson_cavalcanti

PHP - Fatal error: Call to a member function bindValue() on boolean

Recommended Posts

Pessoal boa noite!

Estou usando  classe PDO para conexão com o Firebird, tenho um formulário que no meu computador local funciona corretamente, porém ao subir os arquivos no servidor ele apresenta erro ao fazer o login o erro é esse: 

Fatal error: Call to a member function bindValue() on boolean in

Na mesma string de conexão e consigo listar os dados normalmente o erro é quando entro no formulário de login.

Abaixo segue o código de validação.

<?php
    session_start();
    require ('conexao.php');

    $login = isset($_POST['login']) ? $_POST['login']: '';
    $senha = isset($_POST['senha']) ? $_POST['senha']: '';

    $query = "SELECT * FROM DA101 WHERE A1_PORTAL = :login AND A1_senha = :senha";

    $stmt = $conn->prepare($query);
    
    $stmt->bindValue(':login', $login, PDO::PARAM_STR);
    $stmt->bindValue(':senha', $senha, PDO::PARAM_STR);

    $stmt->execute();

    $array = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
    if($stmt->rowCount() <= 0){
        alerta('Login ou Senha Incorreto!!!');
        voltar();
        exit;
     }else{
        $_SESSION['login'] = $login;
        $_SESSION['senha'] = $senha;
        direciona('lista_ocorrencia.php');
    }
 
?>

 

Se puderem me ajudar eu agradeço.

Obrigado

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie um arquivo PHP e coloque isso nele, após acesse-o:

Citar

if (!extension_loaded('PDO') || !extension_loaded('PDO_MYSQL')) {
    echo "<b>SEM DRIVER</b>";
} else {
    echo "Drives PDO estão instalados!";
}

 

Com isso você poderá ver se os drives de funcionamento estão instalados, se não tiver tem que instalar.

 

E 90% de certeza que o problema é no arquivo conexao.php

 

Também veja se os drives para o firebird estão devidamente instalados:

Citar

foreach (PDO::getAvailableDrivers() as $driver) {
    echo $driver . '<br>';
}

 

Normalmente a pessoa habilita as extensões mas não instala os drivers.

No mais é tudo dizer, porque nunca me mexi com conexões do firebird

 

Os outros 10% restantes da certeza é:

Citar

    $login = isset($_POST['login']) ? $_POST['login']: '';
    $senha = isset($_POST['senha']) ? $_POST['senha']: '';

 

Porque isso são condições ternárias que retornam resultado BOOL

 

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.