Erro ao executar query($sql) no PHP
05/10/2015
0
Olá turma, quando tento executar a linha: $stmt = $this->conexao->query($sql) e dou um refresh ou um post na pagina a pagina desaparece. Quando desativo a linha acima ela volta. Criei a seguinte classe PDO para acesso ao PostgreSQL:
Na classe ClienteDAO criei o seguinte método:
A conexão com o banco de dados é realizado com sucesso, porém a linha $stmt = $this->conexao->query($sql); faz com que a página desapareca. Como resolvber isso?
class AcessarBase{ /** * Conecta ao banco de dados * * @return object Retorna um objeto de conexao com o banco de dados */ public static function statusConexao($host, $porta, $usuario, $senha, $dbname){ try{ $conexao = new \PDO("pgsql:host=$host port=$porta dbname=$dbname user=$usuario password=$senha"); $conexao -> setAttribute(PDO::ATTR_ERRMODE, PDO:: ERRMODE_EXCEPTION); return $conexao; } 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(); } } }
Na classe ClienteDAO criei o seguinte método:
class ClienteDAO{ // conecta ao banco de dados public $conexao = null; /** * propriedade responsável pelas mensagens de erro * @var string */ public $erro = ""; function setCliente($nome, $email, $telefone, $senha){ $this->conexao = AcessarBase::statusConexao(HOST, PORTA, USUARIO, SENHA, BASE); if ($this->conexao){ $sql = "SELECT email WHERE Usuario WHERE email='$email'"; $stmt = $this->conexao->query($sql); $resultado = $stmt -> fetch(PDO::FETCH_OBJ); if ($resultado){ $this->erro = "Já existe uma conta com esse email!"; return false; } else { $sql = "SELECT CadastrarUsuario($nome,$email,$telefone,$senha)"; $stmt = $this->conexao->query($sql); return true; } } else { $this->erro = "não conectado"; return false; } } }
A conexão com o banco de dados é realizado com sucesso, porém a linha $stmt = $this->conexao->query($sql); faz com que a página desapareca. Como resolvber isso?
Adenes Junior
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)