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

PHP & Base de données Discussion :

[SQL] Erreur repetitive sur requete SQL (Count et Sum)


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 7
    Points : 5
    Points
    5
    Par défaut [SQL] Erreur repetitive sur requete SQL (Count et Sum)
    Bonjour voilà j ai un ensemble de requete et d affichage du resultat de ces requetes, qui me renvoi a chaque fois pour message :
    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource .


    Voici mon code:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    $numCat = $_POST["numCat"] ;
     
    $requete = "SELECT COUNT(numjoueur) AS Nb
    FROM joueur
    Where numcat=$numCat";
    $query = mysql_query($requete);
    $array = mysql_fetch_assoc($query);
    echo "Il y a ".$array['Nb']." joueurs dans l équipe";
     
     
    $requete2 = "SELECT COUNT(numMatch) AS NbMatch
    FROM match
    Where numcat=$numCat ";
    $query2 = mysql_query($requete2);
    $array2 = mysql_fetch_assoc($query2);
    echo "Il y a ".$array2['nbMatch']." joués par cette équipe";
     
     
    $requete3 = "SELECT sum(nbButs) AS buts
    FROM participer,joueur
    Where joueur.numcat=$numCat
    joueur.numjoueur=participer.numjoueur";
     
     
    $query3 = mysql_query($requete3);
    $array3 = mysql_fetch_assoc($query3);
    echo "Nombre total de buts : ".$array3['buts'];
     
     
    $requete4 = "SELECT sum(nbExclusion) AS exclu
    FROM participer,joueur
    Where joueur.numcat=$numCat
    joueur.numjoueur=participer.numjoueur";
     
     
    $query4 = mysql_query($requete4);
    $array4 = mysql_fetch_assoc($query4);
    echo "Nombre total d'exclusions : ".$array4['exclu'];
     
     
    $selec = "SELECT nom,prenom,dateNaissance,poste,poids,taille,nbButs,nbExclusion
    FROM joueur,participer
    WHERE joueur.numCat=$numCat
    joueur.numjoueur=participer.numjoueur";
     
    $result = mysql_query($selec) or die ('Erreur : '.mysql_error() );
    $total = mysql_num_rows($result);

    Seul la premeire fonctione correctement, mais pas les autres. Pourquoi ? et comment y remédier? Merci d'avance

  2. #2
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    deux choses :
    1/ quand tu fais un mysql_query() tu dois tester la valeur de retour avant de faire un fetch pour t'assurer que la requete était bonne, s'il y a une erreur tu auras acces au message d'erreur ce qui te permettra de résoudre les problemes facilements (mysql_query($requete) or die(mysql_error()) est un minimum)

    2/ en survol, dans ta requete3, tu as deux critères de recherche et il n'y a ni AND ni OR pour les relier. Les autres ont surement des erreurs aussi.

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Pour completer :
    1/ C'est encore mieux en affichant la requête avec le message d'erreur
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query($requete) or die($requete.' : '.mysql_error()) ;

    Pour les jointures tu peux utiliser JOIN ON :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select *
    from table1
     join table2
     on table1.id = table2.id
    et
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    j vais tester ca merci beaucoup

Discussions similaires

  1. [XL-2007] Erreur VBA sur requete SQL
    Par guigui69 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 12/08/2013, 08h44
  2. Erreur 3061 sur requete SQL
    Par FtF Nemesis dans le forum VBA Access
    Réponses: 1
    Dernier message: 24/03/2011, 09h15
  3. requet sql "GO", pour plusieurs requetes sql au meme temps
    Par abbd dans le forum Développement
    Réponses: 3
    Dernier message: 25/05/2008, 15h08
  4. requete sql utilisant une autre requete sql
    Par arnogef dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/02/2007, 20h38

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