IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

pbl requête et mysql_fetch_array


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de carelha
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 168
    Par défaut pbl requête et mysql_fetch_array
    bonjour,

    j'ai une requête qui me donne un résultat 0 alors qu'il y a bien des lignes qui correspondent dans la BDD, je ne comprends pas où est le problème. Merci à ceux qui auront l'esprit plus clair que moi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = 'SELECT count(*) FROM guide, aide_st WHERE guide.structure=aide_st.s_clef AND (rythme!="" OR (mois1="'.$mois.'" AND annee1="'.$annee.'")  OR (mois2="'.$mois.'" AND annee2="'.$annee.'")  OR (mois3="'.$mois.'" AND annee3="'.$annee.'")  OR (mois4="'.$mois.'" AND annee4="'.$annee.'")  OR (mois5="'.$mois.'" AND annee5="'.$annee.'"))';
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $resultat = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    $nb_total= mysql_fetch_array($resultat);
     
    // on teste si ce nombre de vaut pas 0
     
    if (($nb_total = $nb_total[0]) == 0) 
     
    {
     $error="erreur";
    }

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Par défaut
    ça dit quoi comme erreur?
    suis pas sur de la syntaxe de ton différent(!=).ça serait pas <> par hasard??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = 'SELECT count(*) FROM guide, aide_st WHERE guide.structure=aide_st.s_clef AND (rythme!="" OR (mois1="'.$mois.'" AND annee1="'.$annee.'")  OR (mois2="'.$mois.'" AND annee2="'.$annee.'")  OR (mois3="'.$mois.'" AND annee3="'.$annee.'")  OR (mois4="'.$mois.'" AND annee4="'.$annee.'")  OR (mois5="'.$mois.'" AND annee5="'.$annee.'"))';

  3. #3
    Membre confirmé Avatar de carelha
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 168
    Par défaut
    en fait je n'ai pas d'erreur, il considère qu'il n'y a pas de réponse, qu'il y a 0 ligne. j'ai fait un écho de la requête qui donne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT count(*) FROM guide, aide_st WHERE guide.structure=aide_st.s_clef AND (rythme!="" OR (mois1="11" AND annee1="2006") OR (mois2="11" AND annee2="2006") OR (mois3="11" AND annee3="2006") OR (mois4="11" AND annee4="2006") OR (mois5="11" AND annee5="2006"))
    et j'ai bien une ligne avec 11 dans mois2 et 2006 dans annee2.

    pour le !="", je l'ai déjà essayé ailleurs sans que ca pose problème, je vais voir si il n'y a pas qq chose de mieux quand même.

  4. #4
    Membre Expert
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Par défaut
    Citation Envoyé par carelha
    en fait je n'ai pas d'erreur, il considère qu'il n'y a pas de réponse, qu'il y a 0 ligne. j'ai fait un écho de la requête qui donne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT count(*) FROM guide, aide_st WHERE guide.structure=aide_st.s_clef AND (rythme!="" OR (mois1="11" AND annee1="2006") OR (mois2="11" AND annee2="2006") OR (mois3="11" AND annee3="2006") OR (mois4="11" AND annee4="2006") OR (mois5="11" AND annee5="2006"))
    et j'ai bien une ligne avec 11 dans mois2 et 2006 dans annee2.

    pour le !="", je l'ai déjà essayé ailleurs sans que ca pose problème, je vais voir si il n'y a pas qq chose de mieux quand même.
    Ta requête fonctionne si tu la passes dans phpmyadmin ?
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

  5. #5
    Membre confirmé Avatar de carelha
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 168
    Par défaut
    oui, merci, ma requête fonctionne sous php my admin qui trouve des résultats avec ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT count(*) FROM guide, aide_st WHERE guide.structure=aide_st.s_clef AND (rythme!="" OR (mois1="11" AND annee1="2006")  OR (mois2="11" AND annee2="2006")  OR (mois3="11" AND annee3="2006")  OR (mois4="11" AND annee4="2006")  OR (mois5="11" AND annee5="2006"))
    c'est peut-être mon if qui pose problème ensuite, mais la syntaxe me semblait correcte

  6. #6
    Membre Expert
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Par défaut
    Et si tu essaies avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT count(*) AS nb_res FROM guide, aide_st WHERE guide.structure=aide_st.s_clef AND (rythme!="" OR (mois1="11" AND annee1="2006")  OR (mois2="11" AND annee2="2006")  OR (mois3="11" AND annee3="2006")  OR (mois4="11" AND annee4="2006")  OR (mois5="11" AND annee5="2006"))
    
    $resultat = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    $nb_total= mysql_fetch_array($resultat);
    
    // on teste si ce nombre de vaut pas 0
    var_dump($nb_total); // pour vérifier la bonne structure du tableau
    if ($nb_total[0]['nb_res'] == 0) 
    
    {
     $error="erreur";
    }
    PS: en effet ton if précédent n'est pas des plus conventionnels
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Requête mysql_fetch_array erreur
    Par asvin dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 21/10/2008, 20h25
  2. [MySQL] Problème avec mysql_fetch_array et une requête qui ordonne(ASC)
    Par Jim_Nastiq dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 08/03/2007, 10h46
  3. [MySQL] mysql_fetch_array et longues requêtes
    Par Hayabusa dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 02/01/2007, 12h01
  4. mysql_fetch_array mais ça vient peut être de la requête
    Par JackBeauregard dans le forum Requêtes
    Réponses: 2
    Dernier message: 30/06/2006, 03h46
  5. pbl avec mysql_fetch_array()
    Par reedbedroom dans le forum Requêtes
    Réponses: 2
    Dernier message: 21/03/2006, 19h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo