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

Error: SQLSTATE[42000]: Syntax error or access violation: 1064 Erreur de syntaxe près de 'WHERE id' à la ligne 1


Adilson de Assis

Pergunta

Olá pessoal, estou com problema em um script Php com a função UPDATE ele não altera os dados no banco de dados e me reporta esse erro aqui:  Error: SQLSTATE[42000]: Syntax error or access violation: 1064 Erreur de syntaxe près de 'WHERE id' à la ligne 1

as páginas que estou trabalhando segue abaixo: se alguém pode ajudar eu agradeço:)

FORMULÁRIO:

<form action="admin/edita_cadastro.php" method="get">

      <div class="container theme-showcase" role="main">
        <div class="cadastro">
          <div class="col-lg-6">
            <h1>Editar Usuário</h1>
            <div class="input-group">
              <span class="input-group-addon">
                <input type="checkbox" aria-label="...">
              </span>
              <input type="text" class="form-control" name="nome" placeholder="Digite seu nome" aria-label="..." value="<?php echo $resultado['nome']; ?>">
            </div><!-- /input-group -->
          </div><!-- /.col-lg-6 -->
          <div class="col-lg-6">
            <div class="input-group">
              <span class="input-group-addon">
                <input type="radio" aria-label="...">
              </span>
              <input type="text" class="form-control" name="sobrenome" placeholder="Digite seu sobrenome" aria-label="..." value="<?php echo $resultado['sobrenome']; ?>">
            </div><!-- /input-group -->
          </div><!-- /.col-lg-6 -->
          <div class="col-lg-6">
            <div class="input-group">
              <span class="input-group-addon">
                <input type="radio" aria-label="...">
              </span>
              <input type="text" class="form-control" name="email" placeholder="Digite seu Email" aria-label="..." value="<?php echo $resultado['email']; ?>">
            </div><!-- /input-group -->
          </div><!-- /.col-lg-6 -->
          <div class="col-lg-6">
            <div class="input-group">
              <span class="input-group-addon">
                <input type="radio" aria-label="...">
              </span>
              <input type="text" class="form-control" name="senha" placeholder="Digite seu senha" aria-label="...">
            </div><!-- /input-group -->
          </div><!-- /.col-lg-6 -->
          <div class="col-lg-6">
            <div class="input-group">
              <div class="field">
                <select class="form-control" name="nivel_acesso_id" id="nivel_acesso_id" value="<?php echo $resultado['nivel_acesso_id']; ?>">
                  <option value="1" <?php 
                      if ($resultado['nivel_acesso_id'] == 1){
                        echo 'selected';
                      }
                  ?>>Administrativo</option>
                  <option value="2" <?php 
                      if ($resultado['nivel_acesso_id'] == 2){
                        echo 'selected';
                      }
                  ?>>Usuário</option>
                </select>
              </div> <!-- /field -->
            </div><!-- /input-group -->
          </div><!-- /.col-lg-6 -->
          <div class="login-actions">
            <input type="submit" class="button btn btn-primary btn-large" name="alt" value="ALTERAR">
          </div> <!-- .actions -->
        </div> <!-- /cadastro -->
      </div> <!-- /container -->
    </form> <!-- /form -->

 

SCRIPT UPDATE PHP COM PDO

 

<?php    
    if(isset($_GET['alt']));{
    
    $nome = $_GET['nome'];
    $sobrenome = $_GET['sobrenome'];
    $email = $_GET['email'];
    $pwd = $_GET['senha'];
    $nivel_acesso_id = $_GET['nivel_acesso_id'];

     
     try {
      include_once('conexaodb_pdo.php');
      
      $stmt = $pdo->prepare('UPDATE `usuarios` SET nome = :nome, sobrenome = :sobrenome, email = :email, senha = :senha, nivel_acesso_id = :nivel_acesso_id, WHERE id');
      $stmt->bindParam(':nome', $nome, PDO::PARAM_STR);
      $stmt->bindValue(':sobrenome', $sobrenome, PDO::PARAM_STR);
      $stmt->bindValue(':email', $email, PDO::PARAM_STR);
      $stmt->bindValue(':senha', $pwd, PDO::PARAM_STR);
      $stmt->bindValue(':nivel_acesso_id', $nivel_acesso_id, PDO::PARAM_INT);
      $stmt->execute();
      echo $stmt->rowCount();
    } catch(PDOException $e) {
      echo 'Error: ' . $e->getMessage();
}
}
?>

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Olá.

Seu UPDATE está errado, a vírgula que está antes da palavra WHERE não deveria existir, e também falta você comparar o id com algum valor (ex: WHERE id = :id, e depois usar o bindValue para configurar o valor do :id como você fez com as outras variáveis).

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,3k
    • Posts
      652,4k
×
×
  • Criar Novo...