Ir para conteúdo
Fórum Script Brasil
  • 0

Erro 1064 Mysql


RaimundoCosta

Pergunta

Então pessoal, estou com um problema com uma classe extendida, não consegui resolver o seguinte erro

SQLSTATE[42000]: Syntax error or access violation: 1064 Erreur de syntaxe pr�s de ''visitantes' WHERE email = 'djricardo@.com' AND senha = '202cb962ac59075b964b071' � la ligne 1

Segue abaixo os codigos

<?php 
    /**
    * CLASSE DE LOGIN EXTENDIDA COM O BANCO DE DADOS
    */
    class Login extends BD{

        private $tabela;
        private $prefixo;
        

        public function __construct($table = 'visitantes', $pref = 'downs_'){
            $this->tabela = $table;
            $this->prefixo = $pref;
            
        }//  CONSTROI O ATRIBUTO

        private function criptar($senha){
            return md5($senha);
        }// CRIPTOGRAFA A SENHA

        private function validar($email, $senha){
            $senha = $this->criptar($senha);
            try {
                $verificar = self::conn()->prepare("SELECT * FROM '".$this->tabela."' WHERE email = ? AND senha = ? AND status = '1'");
                //$verificar->bindValue(1, $email);
                //$verificar->bindValue(2, $senha);
                $verificar->execute(array($email, $senha));
                return ($verificar->rowCount() >0) ? true : false;
            } catch (PDOException $e) {
                echo $e->getMessage();
            }
            

        }// VALIDAR USUARIOS

        public function logar($email, $senha){
            if ($this->validar($email, $senha)){
                $_SESSION[$this->prefixo.'email'] = $email;
                $_SESSION[$this->prefixo.'senha'] = $senha;
                return true;
            }else{
                return false;
            }
        
        }// FUNÇAO PARA LOGAR USUARIOS

    }// fim da classe login
 ?>

==============================================

a outra pagina de login

o formulario e o resto do codigo

<?php 
session_start();// STARTANDO A SESSAO DO USUARIOS
/* INCLUSAO DAS PAGINAS DE BANCO E LOGIN */
    include_once "../config.php";
    require_once "../classes/BD.class.php";
    require_once "../classes/Login.class.php";

    $log = new Login;
    
 ?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <link rel="stylesheet" type="text/css" href="../css/logUser.css">
    <title>Login - Usuarios</title>
</head>
<body>
        <?php 
            if (isset($_POST['acao']) && $_POST['acao'] == "logando") {
                
                $email = strip_tags(filter_input(INPUT_POST, 'email'));
                $senha = strip_tags(filter_input(INPUT_POST, 'senha'));
                
                if ($email == '' || $senha == '') {
                    echo'<script>alert("Preencha o LOGIN & SENHA");location.href="login.php"</script>';
                }else{
                    if ($log->logar($email, $senha)) {
                        header("location : admin.php");
                    }else{
                        //echo'<script>alert("Erro ao efetuar Login");location.href="login.php"</script>';
                    }//    FIM DO IF DE REDIRECIONAMENTO DE LOGIN

                }// FIM DO IF DE VERIFICAÇAO

                
            }// FIM DO IF DE VERIFICAÇAO DE EXISTENCIA DE LOGIN
         ?>
    <div id="logar">
        <form action="" method="post" enctype="multipart/form-data">
            <span class="log">Login de Usuarios</span>
            <span>Email: <input type="text" name="email" placeholder="Email de Login"></span>
            <span>Senha: <input type="password" name="senha" placeholder="Senha de Login"></span>
            <input type="hidden" name="acao" value="logando">
            <input type="submit" value="Fazer Login" class="btn">
        </form>
    </div> <!-- fim da div logar -->
    <div style="clear: both;"></div>
</body>
</html>

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Pelo que entendi seu erro se deve ao parâmetro que abastece a tabela em sua select. O nome da tabela está entre aspas e o mysql não está entendendo isso.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...