Requête SQL COUNT

Fermé
parousky Messages postés 325 Date d'inscription mardi 11 septembre 2012 Statut Membre Dernière intervention 20 février 2022 - Modifié par crapoulou le 30/04/2016 à 10:55
jordane45 Messages postés 38472 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2025 - 1 mai 2016 à 18:33
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

jordane45 Messages postés 38472 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2025 4 743
30 avril 2016 à 11:48
Bonjour
pourquoi faire un select de select ??
Un seul suffit !!

Et puis... tu as oublié de fermer tes guillemets
0
jordane45 Messages postés 38472 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2025 4 743
30 avril 2016 à 12:11
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
parousky Messages postés 325 Date d'inscription mardi 11 septembre 2012 Statut Membre Dernière intervention 20 février 2022 6
1 mai 2016 à 00:11
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
jordane45 Messages postés 38472 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2025 4 743
1 mai 2016 à 09:48
Tu as testé la requête en direct dans la bdd ?
0
parousky Messages postés 325 Date d'inscription mardi 11 septembre 2012 Statut Membre Dernière intervention 20 février 2022 6
1 mai 2016 à 17:49
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
jordane45 Messages postés 38472 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2025 4 743
1 mai 2016 à 18:33
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

Discussions similaires