[PHP/MySQL] Prob de récup du résultat d'une requete

Prob de récup du résultat d'une requete [PHP/MySQL] - PHP - Programmation

Marsh Posté le 04-12-2003 à 09:07:03    


Salut
 
je fais une requete du genre  
"SELECT COUNT(*) FROM `table` WHERE `CHAMP` = 'valeur';"
 
Par contre je n'arrive pas à récupérer le résultat dans mon script PHP. Il semble que mysql_fetch_array() ne fonctionne pas.
 
Avez vous un conseil ?
 
Merci

Reply

Marsh Posté le 04-12-2003 à 09:07:03   

Reply

Marsh Posté le 04-12-2003 à 09:10:24    

1)mets ton code (avec la requête et le mysql_fetch_array), sinon ça va pas être facile de deviner...
 
2) teste ta requête dans phpmyadmin pour voir si c'est à ce niveau que se situe l'erreur


Message édité par deliriumtremens le 04-12-2003 à 09:11:35
Reply

Marsh Posté le 04-12-2003 à 09:18:46    

$sql = 'SELECT COUNT( * ) '
        . ' FROM `base_dslam` '
        . ' WHERE `dslam` = \'nord-1\'';
 
$result = mysql_query($sql);
$nb_dslam = mysql_fetch_array($result);
 
echo $nb_dslam['????'];
 
Je n'obtiens rien. Si c'est une question d'étiquette pour $nb_dslam, je ne trouve pas celle qu'il faut utiliser, sinon y a t il une autre commande pour afficher le résultat d'une requete ?
 
Merci

Reply

Marsh Posté le 04-12-2003 à 09:19:17    

La requete fonctionne avec PHPmyAdmin

Reply

Marsh Posté le 04-12-2003 à 09:21:08    

C'est peut être un peu tôt mais une bonne Délirium ferait du bien, cela fait si longtemps ...

Reply

Marsh Posté le 04-12-2003 à 09:28:18    

Vivi, mais Délirium du matin, foie chagrin.
 

Code :
  1. $sql="SELECT COUNT (*) FROM base_dslam WHERE dslam='nord-1'";
  2. $result=mysql_query($sql);
  3. If ($nb_dslam=mysql_fetch_array($result))
  4. {
  5. echo 'reussite';
  6. echo $nb_dslam['xxx'];
  7. }
  8. //on pourrait rajouter une gestion des erreurs au niveau de
  9. // mysql_result et de mysql_fetch_array, mais je suis flemme


 
Qu'entends-tu par étiquette ?
dans echo $nb_dslam['???'];
??? doit correspondre à un champ de ta base (mais ça je pense que tu le sais).
 
->je suis pas sûr que php soit très heureux des requêtes avec des caractères étranges  (copier-coller de phpmyadmin ?)


Message édité par deliriumtremens le 04-12-2003 à 09:31:29
Reply

Marsh Posté le 04-12-2003 à 09:32:53    

Dans mon code, je n'ai pas fait ce copier coller brut. Je venais juste de tester la requete avec PHPmyadmin.
 
Ce que j'apelle etiquette, c'est le nom du champ de la base que traite la requete mais dans le cas d'un COUNT, je ne sais pas quoi mettre. et pour le moment,  
echo $nb_dslam['COUNT'] ne renvoie qu'une erreur.
 
Pour la Délirium, effectivement, il vaut mieux respecter maitre foie
 
En tout cas merci pour ton aide

Reply

Marsh Posté le 04-12-2003 à 09:36:25    

si tu veux le nombre de lignes, tu peux faire
 
$num=mysql_num_rows($result);
echo $num;

Reply

Marsh Posté le 04-12-2003 à 09:37:38    


 
Je viens de trouver :
$sql="SELECT COUNT (*) FROM base_dslam WHERE dslam='nord-1'";
$result=mysql_query($sql);
If ($nb_dslam=mysql_fetch_array($result))
  {
    echo 'reussite';
    echo $nb_dslam['COUNT(*)'];
  }
 
 
Le résultat renvoyé est le bon
 
Merci pour ton aide

Reply

Marsh Posté le 04-12-2003 à 09:39:29    

ou encore

Code :
  1. $result=mysql_quera($sql);
  2. $nb_dslam = mysql_fetch_array($result);
  3. $num=$nb_dslam[0];
  4. echo $num;


 
Edit : bon ben si c'est bon, hein...


Message édité par deliriumtremens le 04-12-2003 à 09:40:24
Reply

Marsh Posté le 04-12-2003 à 09:39:29   

Reply

Marsh Posté le 04-12-2003 à 12:07:44    

Généralement on met des alias pour ce type de champs, c'est plus zoli !
 

$sql="SELECT COUNT (*) as nbDslam FROM base_dslam WHERE dslam='nord-1'";
$result=mysql_query($sql);
If ($nb_dslam=mysql_fetch_array($result))
  {
    echo 'reussite';
    echo $nb_dslam['nbDslam'];
  }


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed