Problème requête mysql (SELECT COUNT)
Résolu
nab13
Messages postés
54
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour a tous,
J'ai un petit soucis avec une requête :
Dans ma table stock, j ai entre autres un champ ref et un champ descr. Une même ref peut avoir plusieurs descr différentes.
J'arrive à afficher la liste des couples ref/descr uniques grâce à cette requête :
Je voudrais également afficher les quantités pour chaque couple. Mon while devient donc :
J'ai essayé plusieurs variantes avec le même résultat :
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in .......... on line 17
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in .......... on line 17
La ligne 17 chez moi étant la ligne 5 du deuxième code ici.
Quelqu'un peut il m'expliquer ou cela cloche ? Peut être ma méthode est mauvaise et il existe une formule toute faite ..
Merci d'avance à toutes les âmes charitables pour leur aide !
J'ai un petit soucis avec une requête :
Dans ma table stock, j ai entre autres un champ ref et un champ descr. Une même ref peut avoir plusieurs descr différentes.
J'arrive à afficher la liste des couples ref/descr uniques grâce à cette requête :
$req="SELECT DiSTINCT ref, descr FROM stock"; $sql = mysql_query($req); while ($stock = mysql_fetch_array($sql)) { echo '<tr>'; echo '<td>'.$stock['ref'].'</td>'; echo '<td>'.$stock['descr'].'</td>'; echo '<td></td>'; echo '</tr>'; }
Je voudrais également afficher les quantités pour chaque couple. Mon while devient donc :
while ($stock = mysql_fetch_array($sql)) { $retour = mysql_query("SELECT COUNT(ref) AS result FROM stock WHERE descr = '".$stock['descr']."'"); $donnees = mysql_fetch_array($retour); $qte= $donnees['result']; echo '<tr>'; echo '<td>'.$stock['ref'].'</td>'; echo '<td>'.$stock['descr'].'</td>'; echo '<td>'.$qte.'</td>'; echo '</tr>'; }
J'ai essayé plusieurs variantes avec le même résultat :
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in .......... on line 17
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in .......... on line 17
La ligne 17 chez moi étant la ligne 5 du deuxième code ici.
Quelqu'un peut il m'expliquer ou cela cloche ? Peut être ma méthode est mauvaise et il existe une formule toute faite ..
Merci d'avance à toutes les âmes charitables pour leur aide !
A voir également:
- Select count *
- Please select boot device - Forum Windows 7
- Reboot and select proper boot device - Forum Windows
- Select boot mode android - Guide
- Reboot and select proper boot device or insert boot media in selected boot device and press a key ✓ - Forum PC portable
- Problème de démarrage - boot device and press a key ✓ - Forum Windows 10
2 réponses
Bonsoir,
Pouvez-vous rajouter ça et me faire un retour :
Amicalement
Pouvez-vous rajouter ça et me faire un retour :
$req =" SELECT COUNT(ref) AS result FROM stock WHERE descr = '".$stock['descr']."'""; ..... .... if(!$retour) { $message = 'Requête invalide : ' . mysql_error() . "\n"; $message .= 'Requête complète : ' . $req; die($message); }
Amicalement
Alors voici le message :
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in ---------------------------------- on line 17
Requête invalide : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1 To 7200 RPM 64 Mo Serial ATA 6 Gb/s (bulk)'' at line 1 Requête complète :
La requête donnerait :
"SELECT COUNT(*) AS result FROM stock WHERE descr = 'Seagate Barracuda 7200.14 SATA 6Gb/s 1 To - Disque dur 3.5' 1 To 7200 RPM 64 Mo Serial ATA 6 Gb/s (bulk)'"
Du coup voyant ceci, j'ai enlevé le ' de 3.5' et ça marche !
Je comprends pas pourquoi je n'ai pas pensé avant à faire ce que tu m'as dit de faire ... le manque d'expérience, la fatigue ou les deux.
Du coup je vais modifier le script d'insertion dans la table.
Merci en tout cas pour ton aide !
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in ---------------------------------- on line 17
Requête invalide : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1 To 7200 RPM 64 Mo Serial ATA 6 Gb/s (bulk)'' at line 1 Requête complète :
La requête donnerait :
"SELECT COUNT(*) AS result FROM stock WHERE descr = 'Seagate Barracuda 7200.14 SATA 6Gb/s 1 To - Disque dur 3.5' 1 To 7200 RPM 64 Mo Serial ATA 6 Gb/s (bulk)'"
Du coup voyant ceci, j'ai enlevé le ' de 3.5' et ça marche !
Je comprends pas pourquoi je n'ai pas pensé avant à faire ce que tu m'as dit de faire ... le manque d'expérience, la fatigue ou les deux.
Du coup je vais modifier le script d'insertion dans la table.
Merci en tout cas pour ton aide !