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:

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

Adenes Junior

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar