Problème de requête MySQL

Problème de requête MySQL - SQL/NoSQL - Programmation

Marsh Posté le 25-05-2011 à 17:24:49    

Bonjour,  
 
Je suis en stage, et je code une page sur laquelle je suis sensé récupérer les processeurs du magasin depuis la base de donner pour les afficher dans une "Combobox".
 
le soucis, c'est que quand j'affiche le nombre de produits avec "mysql_num_rows", il me dis qu'il n'y en a pas (Il y en a bien dans la base de donnée, une 20aine).
 
Voilà mon code :
 

Citation :

$req_cpu = "SELECT ps_product.id_product, ps_product_lang.name, ps_product.price,   ps_product_lang.id_product, ps_category_product.id_product
ps_category_product.id_category, ps_category_lang.id_category
    FROM ps_product, ps_product_lang, ps_category_product, ps_category_lang
    WHERE ps_product.id_product = ps_product_lang.id_product
    AND ps_category_product.id_product = ps_product.id_product
    AND ps_category_product.id_category = ps_category_lang.id_category
    AND ps_category_lang.id_category = '131'";
$cpu = mysql_query($req_cpu);
echo "Nombre d'articles : " . mysql_num_rows($cpu);


 
=> Affichage : Nombre d'articles : 0
 
Avant ça, j'ouvre évidemment la connexion MySQL, et je la referme à la fin de la page. (mysql_close() ;)
 
Auriez vous une idée sur le problème ?
 
Merci d'avance,
 
Dreamlock

Reply

Marsh Posté le 25-05-2011 à 17:24:49   

Reply

Marsh Posté le 26-05-2011 à 08:13:49    

Quand tu lances ta requete dans phpmyadmin t'as bien un resultat?

Reply

Marsh Posté le 26-05-2011 à 12:55:50    

Tu peux recup directement le nombre de resultats avec COUNT, par exemple j'utilise un truc dans le genre :
 

Code :
  1. private long GetNumberOfRows(string columnName, DateTime columnValue)
  2.  {
  3.   m_Command.CommandText = "SELECT COUNT(" + columnName + " ) FROM " + s_TracesTableName + " WHERE " + columnName + "=?testTime";
  4.   m_Command.Parameters.AddWithValue("?testTime", columnValue);
  5.   bool read = TryRead();
  6.   long numberOfRows = 0;
  7.   if (read)
  8.   {
  9.    m_Reader.Read();
  10.    numberOfRows = (Int64)m_Reader.GetValue(0);
  11.   }
  12.   m_Connection.Close();
  13.   return numberOfRows;
  14.  }


 
edit : je me souviens d'avoir un jour lu un truc sur mysql_num_rows qui dans certains cas ne renvoyait pas la valeur attendue, mais je ne sais plus pourquoi :(


Message édité par Bucher0n_ le 26-05-2011 à 12:58:43
Reply

Sujets relatifs:

Leave a Replay

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