Message : aucun résultat sous SQL

skins Messages postés 97 Date d'inscription   Statut Membre Dernière intervention   -  
 pebkac -
Bonjour,
je rencontre un petit problème sur mes requête SQL, c'est que, quant je fait une recherche avec un critère qui n,'existe pas sur ma BD, cela me donne un :

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/plugins/content/jumi.php(69) : eval()'d code on line 20

j'ai besoin de gérer cette Erreur Svp
Configuration: Windows XP
Firefox 3.0.15

6 réponses

  1. Dynamix Messages postés 206 Statut Membre 76
     
    Tu peux ptet faire un test préventif du genre :

    if(mysql_num_rows($reponse) == 0) { // Si aucune ligne en retour
    $donnees = mysql_fetch_array ($reponse);
    } else {
    echo "Résultat vide";
    }
    1
  2. bissdebrazza Messages postés 2886 Statut Contributeur 712
     
    Salut!
    si tu nous montrais le code source?
    0
  3. skins Messages postés 97 Date d'inscription   Statut Membre Dernière intervention   13
     
    Bonjour,
    ci dessous le code
    -- je récupére une variable :
    $iduser = $_POST['IDUSER'];
    
    $reponse = mysql_query("select * FROM  Table where ID=".$iduser."");
    $donnees = mysql_fetch_array ($reponse);


    mais quant $iduse n'existe pas cela me donne l'erreur que j'ai cité dna mon 1er poste

    Merci d'avance
    0
  4. pebkac
     
    salut
    je suis pas une lumière en php/MySQL mais n'aurait-il pas mieux valut écrire
    $reponse = mysql_query("select * FROM  Table where ID='".$iduser."'");
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. moderno31 Messages postés 900 Statut Membre 92
     
    1ère chose tester la requete directement en base de données pour identifier la source du pb.
    0
  7. pebkac
     
    re

    1. s'assurer que $iduser n'est pas vide
    (je sais pas faire)

    2. tester s'il existe au moins une ligne dans la base
    $reponse = mysql_query("select count(*) FROM Table where ID='".$iduser."'");
    nb: dégager les apostrophes si t'es sûr que $iduser est numérique et que ID est numérique
    fetcher le count dans $nbre. puis si $nbre = 1 alors iduser existe et si $nbre = 0 alors il existe pas

    3. si et seulement si $nbre = 1 alors récupérer la ligne
    $reponse = mysql_query("select * FROM Table where ID='".$iduser."'"); nb: dégager...
    $données = mysql_fetch_array($reponse)

    sinon, il y a cette page qui te rappelle que tu peux te servir de mysql_num_rows($reponse) pour t'éviter mon point 2.
    0