Ir para conteúdo
Fórum Script Brasil

Adenesjr

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre Adenesjr

Adenesjr's Achievements

0

Reputação

  1. Adenesjr

    Problema com PDO

    Fiz a classs AcessarBase e a classe usuarios. Na classe AcessarBase possui um método static que é chamado por um objeto da classe usuarios pelo método logaUsuario($usuario, $senha); Quando faço a chamada ao método statusConexao($host, $porta, $usuario, $senha, $dbname) pelo método logaUsuario($usuario, $senha) da classe Usuarios o retorno é positivo, conexão aceita, porém dar o seguinte erro: Warning: pg_query(): No PostgreSQL link opened yet in C:\wamp\www\teste\src\lib\usuario.class.php on line 115 Warning: pg_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\wamp\www\teste\src\lib\usuario.class.php on line 117 LInha 115: $query = pg_query($sql); Linha 117: $resultado = pg_fetch_assoc($query); Não permitindo continuar.... Se altero a assinatura do método statusConexao($host, $porta, $usuario, $senha, $dbname) para: $dtb = @pg_connect("host=$host port=$porta dbname=$dbname user=$usuario password=$senha"); return (!$dtb) ? false : true; Funciona corretamente, sem problema nenhum. Então onde está o problema? #classe AcessarBase class AcessarBase{ static function statusConexao($host, $porta, $usuario, $senha, $dbname){ try{ return $conexao = new \PDO("pgsql:host=$host port=$porta dbname=$dbname user=$usuario password=$senha"); } catch(\PDOException $e){ return $error = "Não foi possível fazer a conexão com o banco de dados. Erro codigo: ".$e -> getCode()." Mesagem: ".$e -> getMessage(); } } } #classe usuarios class Usuarios{ function logaUsuario($usuario, $senha) { if (AcessarBase::statusConexao(HOST, PORTA, USUARIO, SENHA, BASE)){ // Inicia a sessão session_start("teste"); $_SESSION['logado'] = "teste-sim"; $_SESSION['usuario'] = $usuario; // Consulta os dados $sql = "SELECT * FROM usuarios WHERE email = '$usuario'"; $query = pg_query($sql); $resultado = pg_fetch_assoc($query); } else { $this->erro = "Não foi possível conectar ao banco de dados. Se isso ocorrer novamente entre em contato com o suporte tecnico."; return false; } }
×
×
  • Criar Novo...