Array
(
)

Erro ao executar $stm->execute() com PDO PostgreSQL

Adenesjr
   - 07 out 2015

Olá, o banco de dados conecta normalmente e até a parte de $stm = $this->conexao->prepare($sql); executa normalmente, porém quando faço $stm->execute() da um erro, a página desaparece.
arquivo conexao.class.pbp:
#Código
<?php
class AcessarBase{
public $erroConexao = "";

public function statusConexao($host, $porta, $usuario, $senha, $dbname){
try{
$pdo = new PDO("pgsql:host=$host port=$porta dbname=$dbname user=$usuario password=$senha");
$pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO:: ERRMODE_EXCEPTION);
return $pdo;
} catch(\PDOException $e){
$this->erroConexao = "Nãoo foi possível fazer a conexãoo com o banco de dados. Erro codigo: ".$e -> getCode()." Mesagem: ".$e -> getMessage();
return false;
}
}
}

Arquivo ClienteDAL.php:
#Código
<?php
class ClienteDAO{
public $conexao = null;
public $erro = "";

function setCliente($nome, $email, $telefone, $senha){
$pdo = new AcessarBase();
$this->conexao = $pdo->statusConexao(HOST, PORTA, USUARIO, SENHA, BASE);

//verificando a conexão com o banco de dados
if ($this->conexao){
//verificandop se usuário já está cadastrado
$sql = "SELECT email WHERE Usuario WHERE email='".$email."'";
$stmt = $this->conexao->prepare($sql);
$stmt ->execute();
//$resultado = $stmt -> fetch(PDO::FETCH_OBJ);
/*
if ($resultado){
$this->erro = "Já existe uma conta com esse email!";
return false;
} else {
$this->erro = "Não existe usuário";
//$sql = "SELECT CadastrarUsuario($nome,$email,$telefone,$senha)";
//$stmt = $this->conexao->query($sql);
$this->erro = "pode cadastrar";
return false;
}*/
} else {
$this->erro = $pdo->erroConexao;
return false;
}
}

}

Qual é o erro de logica?

Jothaz
   - 07 out 2015

Para começar é preciso escrever corretamente a expressão SQL.

Disso:

#Código$sql = "SELECT email WHERE Usuario WHERE email='".$email."'";

Para algo assim:

#Código$sql = "SELECT email FROM Usuario WHERE email='".$email.'";