Une requête qui ne donne rien

Résolu/Fermé
Philippe - 22 oct. 2015 à 16:42
 Utilisateur anonyme - 22 oct. 2015 à 23:43
Bonjour,

Dans ma bdd j'ai 1 colonne date, 1 colonne heure, 1 colonne nom et 1 colonne quantite.
Sur ma page les personnes saisissent une date et un horaire (pour une visite).
De ma base de données je veux faire le total de "quantite" quand la date et l'heure correspondent à la date saisie et à l'heure saisie.
voilà ce que j'ai fait
 
$result = mysql_query("SELECT SUM(quantite) As Nombre FROM visites WHERE date = $date_reformate AND heure = $horaire");
$row = mysql_fetch_row($result);
echo $row['quantite'];


et là je reçois un message d'erreur :
Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in C:\Weblocal\Sites\association-culturelle\visites.php on line 51

Quelqu'un pour m'aider !!

2 réponses

DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 1 999
22 oct. 2015 à 22:35
Bonjour Philippe

je ne comprends pas ce qu'il y a dans la table quantité.

Sinon, pour savoir le nombre de personne pour les RV par jour par exemple

SELECT COUNT(date)
FROM visites
GROUP BY date

Je vois que votre requête vous avez mis
SELECT SUM(quantite) As Nombre

mais pour l'affichage vous mettez echo $row['quantite'];
l'ordi ne sait pas à quoi correspond quantite puisque vous l'avez appelé Nombre
0
Utilisateur anonyme
22 oct. 2015 à 23:43
Bonsoir

La remarque de DelNC est bonne, mais n'explique pas l'erreur, puisque l'erreur est sur le mysql_fetch_row.

Tu as ce message parce qu'il y a une erreur dans ta requête. Donc le mysql_query rend 'false' dans $result. Ce false est un booléen, que tu passes lors de l'appel à mysql_fetch_row. C'est ce que signifie le "boolean given" de ton message d'erreur.
Ta requête est erronée parce que tu n'as pas mis d'apostrophes autour de la date et l'heure dans ta requête :

"SELECT SUM(quantite) As Nombre FROM visites WHERE date = '$date_reformate' AND heure = '$horaire'"


Tu n'aurais pas eu ce problème si tu avais utilisé une requête préparée avec PDO comme tout le monde le conseille aujourd'hui. Utiliser la mieille bibliothèque mysql_, comme tu le fais, est une grave erreur.
0