Requête SQL COUNT

Bonjour, j'essaie d'exécuter une requête SQL COUNT mais je ne comprends pas pourquoi, elle ne fonctionne pas dans ma page PHP. Je l'ai exécuté directement dans la console SQL de phpmyadmin et la ça marchait nickel. Voilà ma requête :

$req_nbre = $bdd->prepare("SELECT (SELECT COUNT(ID) FROM users WHERE Attr>?) as Nbre_total);
   
   $req_nbre->execute(array($_GET['Attr']));
   $donnees = $req_nbre->fetch();
   echo json_encode($donnees);



j'ai bien vérifié que $_GET['Attr'] n'était pas non vide. Mais rien ne ressort de la requête !
Auriez-vous une idée ?
Merci d'avance pour votre aide !

3 réponses

  1. Modérateur
    Bonjour
    pourquoi faire un select de select ??
    Un seul suffit !!

    Et puis... tu as oublié de fermer tes guillemets
    0
    1. Modérateur
      Pour ce qui est de la requête ... essayes juste ça :
      SELECT COUNT(ID) as Nbre_total
      FROM users 
      WHERE Attr>? 
      


      Pour ton code PHP :
      //on récupere PROPREMENT les variables AVANT de les utiliser
      $attr = !empty($_GET['Attr']) ? $_GET['Attr'] : 0;
      
      
      //On prépare la requête
      $sql = "SELECT COUNT(ID) as Nbre_total
                 FROM users 
                WHERE Attr>? ";
      
      //on prépare les variables  de la requête
      $a_datas = array($attr);
      
      
      //On exécute la requete
      try{
         $prepare = $bdd->prepare($sql);
         $prepare->execute($a_datas); 
         $resultat =$prepare->fetch();
      }catch(Exception $z){
       //en cas de pb dans la requete
        echo "Erreur ! ".$e->getMessage();
      }
      
      //on retourne le résultat :
        echo json_encode($resultat);
      
      
      
      0
  2. Merci pour ta réponse mais absolument rien ne marche...
    En fait ces requêtes marchaient très bien avant qu'ovh ne fasse une mise à jour de leur interface MySQL désactivant au passage l'option auto-increment sur une colonne dans une nouvelle table...
    0
    1. Modérateur
      Tu as testé la requête en direct dans la bdd ?
      0
  3. Oui en direct dans la BDD ça marche mais pas depuis ma page PHP.
    Elles marchaient avant et maintenant ça plante, c'est très étonnant... Il y a un autre moyen de faire ce genre de requête ?
    0
    1. Modérateur
      Tu as bien écrit les champs de la même façon qu'ils le sont en bdd ? majuscules / minuscules ??
      Tu peux fa ire un dump structure de ta table ? (Ou un show create )
      0