Ir ao conteúdo
  • Cadastre-se

PHP SQL Syntax error com o method $_GET


Posts recomendados

Mostra esse erro de SQL:

Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '-8, 4' at line 1. Isso acontece quando eu escrevo isso no URL:&tab=-1 ou &tab=-2, &tab=-3 ... etc

 

O erro aponta pra essa query:

$UTP = $db->query("SELECT `list`, `price` FROM burritos WHERE date = 'vm' LIMIT $startVEP, $maximoVEP");

Na parte onde tem escrito syntax to use near '-8, 4' está dizendo que estou passando um valor negativo no LIMIT. Então o erro está em $startVEP = (($maximoVEP * $page) - $maximoVEP); mas eu não vejo o que tem de errado com a logica. Alguém pode ajudar?

 

Esse é o código de paginação:

<?php
  if(empty($_GET['tab'])){}else{$page = $_GET['tab'];}
  if(isset($page)){$page = $_GET['tab'];}else{$page = 1;}
  $maximoVEP = 1;
  $startVEP = (($page * $maximoVEP) - $maximoVEP);
  $list     = 'Asic';

  $stmtVEP   = $db->prepare("SELECT count(*) FROM burritos WHERE date = 'vm' AND list = :list");
  $stmtVEP->bindValue(':list', $list, PDO::PARAM_STR);    
  $stmtVEP->execute();
  $total = $stmtVEP->fetchColumn();
  $total_pages = ceil($total/$maximoVEP);

  echo '<nav aria-label="Page navigation example">';
  echo '<ul class="pagination paginationEp ml-1 mr-1">';
  if ($page >= 2){

    echo '<li class="page-item">';
    echo '<a class="page-link" href="?p=';
    echo htmlentities($slug, \ENT_QUOTES, "UTF-8", false);
    echo '&tab='.($page-1).'"><i class="faz fa-angle-left"></i> ANTERIOR</a>';
    echo '</li>';
  }

  echo '<li class="page-item">';
  echo '<a class="page-link" href="';
  echo htmlentities($slug, \ENT_QUOTES, "UTF-8", false);
  echo '"><i class="faz fa-list-ul"></i></i></a>';
  echo '</li>';

  if ($page < $total_pages){

  echo '<li class="page-item">';
  echo '<a  class="page-link" href="?p=';
  echo htmlentities($slug, \ENT_QUOTES, "UTF-8", false);
  echo '&tab='.($page+1).'">PRÓXIMO <i class="faz fa-angle-right"></i></a>';
  echo '</li>'; 

  }
  echo '</nav>';

  $conn = null;             
?>

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...