Erro ao executar $stm->execute() com PDO PostgreSQL
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:
Arquivo ClienteDAL.php:
Qual é o erro de logica?
arquivo conexao.class.pbp:
<?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:
<?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?
Adenes Junior
Curtidas 0
Respostas
Jothaz
07/10/2015
Para começar é preciso escrever corretamente a expressão SQL.
Disso:
Para algo assim:
Disso:
$sql = "SELECT email WHERE Usuario WHERE email='".$email."'";
Para algo assim:
$sql = "SELECT email FROM Usuario WHERE email='".$email.'";
GOSTEI 0