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 :

Erreur de requête


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 45
    Points : 10
    Points
    10
    Par défaut Erreur de requête
    Salut,

    J'ai une erreur dans ma requête mais je ne vois pas quoi ... quelqu'un peut-il y jeter un oeil?

    Code : 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
    <?php require_once&#40;'../Connections/kainbuye.php'&#41;;
    $colname_course = "-1";
    if &#40;isset&#40;$_GET&#91;'class'&#93;&#41;&#41; &#123;
      $colname_course = &#40;get_magic_quotes_gpc&#40;&#41;&#41; ? $_GET&#91;'class'&#93; &#58; addslashes&#40;$_GET&#91;'class'&#93;&#41;;
    &#125;
    mysql_select_db&#40;$database_kainbuye, $kainbuye&#41;;
    $query_course = "SELECT t5.id_course, 
                      		t5.nom_course,
    						t5.date,
    						t6.ID_classement,
    						t6.acrho_course_id_course,
    						t6.ref_dossard,
    						t6.temps,
    						t6.moyenne,
    						t6.point,
    						t6.place ".
    				"FROM acrho_course AS t5,
    				      acrho_classement AS t6 ". 
    				"WHERE t5.id_course = ".$colname_course." ".
    						"AND t6.acrho_course_id_course = t5.id_course ".
    						" ";
    $course = mysql_query&#40;$query_course, $kainbuye&#41; or die&#40;mysql_error&#40;&#41;&#41;;
    $row_course = mysql_fetch_assoc&#40;$course&#41;;
    $totalRows_course = mysql_num_rows&#40;$course&#41;;
    ?>
    Voici l'erreur que mon navigateur m'indique:
    You have an error in your SQL syntax near 'AND t6.acrho_course_id_course = t5.id_course ' at line 11
    C'est certainement une erreur de débutant (j'en suis un!) mais j'ai beau chercher, je ne vois pas!

    Merci

  2. #2
    Membre averti Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Points : 448
    Points
    448
    Par défaut
    salut, t'as fait un echo de ta requete pour savoir quelle est exacteemtn la requete envoyée a mysql? je suppose qu'il ny a aucune erreur dans le nom de tes champs.
    fais aussi un echo de ta variable $colname_course.
    ça donne quoi tout ça?
    mais pourquoi tu cours?

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Points : 1 639
    Points
    1 639
    Par défaut Re: Erreur de requête
    Cela signifie que ton erreur est juste avant cette partie de la requête.
    Tu peux nous faire un echo de ta requête ?

  4. #4
    Membre habitué Avatar de dor_boucle
    Inscrit en
    Juin 2003
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 147
    Points : 136
    Points
    136
    Par défaut
    10 contre 1 que la variable $colname_course est vide

    le echo te le confirmera
    J'ai l'impression d'engager un combat sans précédent avec la nature. Je vais bien, le moral est bon, je poursuis le vol. (Youri Gagarine)

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 45
    Points : 10
    Points
    10
    Par défaut
    Merci pour vos réponses mais pouvez-vous m'expliquer comment faire 'un echo de la requête' ... je suis passer par des chemin de travers pour arriver jusqu'ici !

    Merci

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Points : 1 639
    Points
    1 639
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $query_course&#58;

  7. #7
    Membre averti Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Points : 448
    Points
    448
    Par défaut
    c'est tres simple
    ce qu'on te demande c'est de faire un echo de la chaine que tu transmets en argument à ton mysql_query().

    10 contre 1 que la variable $colname_course est vide
    je pense la mm chose...
    mais pourquoi tu cours?

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 45
    Points : 10
    Points
    10
    Par défaut
    En début de script?

    Merci

  9. #9
    Membre averti Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Points : 448
    Points
    448
    Par défaut
    non non, juste apres la declaration de la variable en question

    query_course = "SELECT t5.id_course,
    t5.nom_course,
    t5.date,
    t6.ID_classement,
    t6.acrho_course_id_course,
    t6.ref_dossard,
    t6.temps,
    t6.moyenne,
    t6.point,
    t6.place ".
    "FROM acrho_course AS t5,
    acrho_classement AS t6 ".
    "WHERE t5.id_course = ".$colname_course." ".
    "AND t6.acrho_course_id_course = t5.id_course ".
    " ";
    echo $query_course; // <----- ICI
    echo $colname_course; // il est vide je pense
    mais pourquoi tu cours?

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 45
    Points : 10
    Points
    10
    Par défaut
    Ah ben le message d'erreur est encore plus long que tout à l'heure ...
    SELECT t5.id_course, t5.nom_course, t5.date, t6.ID_classement, t6.acrho_course_id_course, t6.ref_dossard, t6.temps, t6.moyenne, t6.point, t6.place FROM acrho_course AS t5, acrho_classement AS t6 WHERE t5.id_course = AND t6.acrho_course_id_course = t5.id_course You have an error in your SQL syntax near 'AND t6.acrho_course_id_course = t5.id_course ' at line 11
    Pouvez-vous me dire comment vous interprétez ce que vous lisez?

    Merci

  11. #11
    Membre habitué Avatar de dor_boucle
    Inscrit en
    Juin 2003
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 147
    Points : 136
    Points
    136
    Par défaut
    tu as recu une erreur sql, et si tu regarde ta requete, tu as ton t5.id_course qui ne recois aucune valeur...
    J'ai l'impression d'engager un combat sans précédent avec la nature. Je vais bien, le moral est bon, je poursuis le vol. (Youri Gagarine)

  12. #12
    Membre averti Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Points : 448
    Points
    448
    Par défaut
    voila, comme on l'avait prévu, c'est ta variable $colname_course qui est vide.
    regarde au niveau de l'url, si cette variable est vide, c'est que soit, dans l'url tu n'as pas le parametre class=... soit ce parametre est vide.

    ps : ce n'est pas ton erreur qui est plus longue, le resultata l'ecran contien la chaine que tu a envoyé en echo... + l'erreur.
    mais pourquoi tu cours?

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 45
    Points : 10
    Points
    10
    Par défaut
    En fait j'ai 3 pages (c'est la 3ème qui plante) qui se suivent et j'utilise ceci pour passer de :
    la 1er vers la 2ème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="classement_edition.php?class=<?php echo $row_class&#91;'id_course'&#93;; ?>"><?php echo $row_class&#91;'nom_course'&#93;; ?></a>
    et ceci pour la 2ème vers la 3ème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="classement_insertion.php?class=<?php echo $row_course&#91;'id_course'&#93;; ?>">Ajouter une entr&eacute;e au tableau</a>
    Les requête sont sensiblement les mêmes (copié/collé) ... si je suis votre résonnement, l'erreur viendrait de mon script de la page 2.

    Merci

  14. #14
    Membre averti Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Points : 448
    Points
    448
    Par défaut
    je pense alors q c'est ta variable $row_course['id_course'] qui est vide. Tu peux montrer la ligne ou elle est initialisée?
    mais pourquoi tu cours?

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 45
    Points : 10
    Points
    10
    Par défaut
    J'ai changé le nom de la variable récupéré en page 2 pensant qu'il pouvait se passer un soucis de redondance (oui, même noms que celle en page 1) mais rien n'y fait ... toujours la même erreur!
    Pensant que l'erreur viendrait de la page 2, je vous mets le script au cas où cela sauterait aux yeux de quelqu'un
    Code : 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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http&#58;//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http&#58;//www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Edition du classement&#58; <?php echo $row_course&#91;'nom_course'&#93;; ?></title>
    <link href="../cosmic18.css" rel="stylesheet" type="text/css" />
    <style type="text/css">
    <!--
    .Style1 &#123;font-size&#58; 9px&#125;
    .Style2 &#123;font-weight&#58; bold&#125;
    -->
    </style>
    </head>
     
    <body>
    <table width="565" border="0" cellpadding="0" cellspacing="0">
      <!--DWLayoutTable-->
      <tr>
        <td width="17" height="14"></td>
        <td width="354"></td>
        <td width="175"></td>
        <td width="19"></td>
      </tr>
      <tr>
        <td height="48"></td>
        <td colspan="2" valign="top" class="cosmic18 Style1">Cette page est r&eacute;serv&eacute; &agrave; l'encodage des donn&eacute;es essentielles &agrave; l'affichage des classements. Afin de garantir celui-ci, il est impossible d'y ins&eacute;rer maintenant les affectations &#40;nom, pr&eacute;nom, club et cat&eacute;gorie&#41; sans savoir si celles-ci ont &eacute;t&eacute; pr&eacute;alablement encod&eacute;es. D&eacute;s le moment o&ugrave; vous pensez avoir finit, veuillez nous le faire savoir afin que nous puissions passez aux &eacute;tapes de v&eacute;rification et de publication. Merci de votre participation. </td>
        <td></td>
      </tr>
      <tr>
        <td height="19"></td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td></td>
      </tr>
     
     
     
     
     
      <tr>
        <td height="38" colspan="4" valign="top"><table width="100%"  border="1" cellpadding="0" cellspacing="0" class="cosmic18">
          <!--DWLayoutTable-->
          <tr>
            <td><div align="right"><strong>R&eacute;sultats de la course &#58; </strong></div></td>
            <td><div align="center"><?php echo $row_course&#91;'nom_course'&#93;; ?></div></td>
            <td><div align="right"><strong>Nombre de participants &#58; </strong></div></td>
            <td><div align="center"><?php echo $row_course&#91;'nbre_part'&#93;; ?></div></td>
          </tr>
          <tr>
            <td><div align="right"><strong>A la date du &#58; </strong></div></td>
            <td><div align="center">
                <?php setlocale &#40;LC_ALL,"fr_FR"&#41;; echo strftime&#40;"%A %d %B %Y",strtotime&#40;$row_course&#91;'date'&#93;&#41;&#41;; ?>
            </div></td>
            <td><div align="right"><strong>Distance &#58; </strong></div></td>
            <td><div align="center"><?php echo $row_course&#91;'kilometrage'&#93;; ?> km </div></td>
          </tr>
        </table></td>
      </tr>
      <tr>
        <td height="23"></td>
        <td></td>
        <td></td>
        <td></td>
      </tr>
     
     
     
     
      <tr>
        <td height="34" colspan="4" valign="top"><table width="100%"  border="1" cellpadding="0" cellspacing="0" class="cosmic18">
          <tr>
            <td><div align="center"><strong>Arr.</strong></div></td>
            <td><div align="center"><strong>Dossard</strong></div></td>
            <td><div align="center"><strong>Temps</strong></div></td>
            <td><div align="center"><strong>Moy/km</strong></div></td>
            <td><div align="center"><strong>Points</strong></div></td>
            <td><div align="center"></div></td>
            <td><div align="center"></div></td>
          </tr>
          <?php do &#123; ?>
          <tr>
            <td><div align="right"><?php echo $row_course&#91;'place'&#93;; ?></div></td>
            <td><div align="right"><?php echo $row_course&#91;'ref_dossard'&#93;; ?></div></td>
            <td><div align="right"><?php echo $row_course&#91;'temps'&#93;; ?></div></td>
            <td><div align="right"><?php echo strftime&#40;"%M&#58;%S",strtotime&#40;$row_course&#91;'moyenne'&#93;&#41;&#41;; ?></div></td>
            <td><div align="right"><?php echo $row_course&#91;'point'&#93;; ?></div></td>
            <td><div align="center"><strong>Modifier</strong></div></td>
            <td><div align="center"><strong>Supprimer</strong></div></td>
          </tr>
          <?php &#125; while &#40;$row_course = mysql_fetch_assoc&#40;$course&#41;&#41;; ?>
        </table></td>
      </tr>
      <tr>
        <td height="32">&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td height="24">&nbsp;</td>
        <td>&nbsp;</td>
        <td valign="top" class="cosmic18"><div align="right"><span class="Style2"><a href="classement_insertion.php?inser=<?php echo $row_inser&#91;'id_course'&#93;; ?>">Ajouter une entr&eacute;e au tableau</a>&nbsp;</span></div></td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td height="28">&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
    </table>
    </body>
    </html>
    Merci

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 45
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par gofono_bass
    je pense alors q c'est ta variable $row_course['id_course'] qui est vide. Tu peux montrer la ligne ou elle est initialisée?
    Désolè quand tu as posté ton message j'étais en pleine édition du miens mais je penses qui tu y trouveras ton bonheurs (enfin peut-être le miens )

    Merci

  17. #17
    Membre averti Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Points : 448
    Points
    448
    Par défaut
    ben dans la source que t'dnvoies je ne vois aucune partie php (a part le petit echo...), donc je ne vois pas comment est-ce que la variable pourrait etre initialisée. Si tu as mis tout le code de ta page 2 ben ton erreur elle est tout a fait normale.... t sur d'etre passé par les tuto?
    mais pourquoi tu cours?

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 45
    Points : 10
    Points
    10
    Par défaut
    Je n'ai pas mis la requête mais le reste y est! Il me semble avoir fait toutes mes pages de la même façon ... je ne vois pas ce que j'ai pu oubliè de mettre! Je vais regarder de plus prêt

    Merci

  19. #19
    Membre averti Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Points : 448
    Points
    448
    Par défaut
    tu utilises simplement des variables que tu n'as pas initialisé si c'est tout ton code... si c pas le cas, montre la partie php
    mais pourquoi tu cours?

  20. #20
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 45
    Points : 10
    Points
    10
    Par défaut
    Voici ma requête de la page 2
    Code : 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
    <?php require_once&#40;'../Connections/kainbuye.php'&#41;;
    $colname_course = "-1";
    if &#40;isset&#40;$_GET&#91;'class'&#93;&#41;&#41; &#123;
      $colname_course = &#40;get_magic_quotes_gpc&#40;&#41;&#41; ? $_GET&#91;'class'&#93; &#58; addslashes&#40;$_GET&#91;'class'&#93;&#41;;
    &#125;
    mysql_select_db&#40;$database_kainbuye, $kainbuye&#41;;
    $query_course = "SELECT t5.id_course, 
                      		t5.nom_course,
    						t5.date,
    						t5.lieu,
    						t5.kilometrage,
    						t5.nbre_part,
    						t6.ID_classement,
    						t6.acrho_course_id_course,
    						t6.ref_dossard,
    						t6.temps,
    						t6.moyenne,
    						t6.point,
    						t6.place ".
    				"FROM acrho_course AS t5,
    				      acrho_classement AS t6 ". 
    				"WHERE t5.id_course = ".$colname_course." ".
    						"AND t6.acrho_course_id_course = t5.id_course ".
    						" ".
    				"ORDER BY t6.place ASC";
    $course = mysql_query&#40;$query_course, $kainbuye&#41; or die&#40;mysql_error&#40;&#41;&#41;;
    $row_course = mysql_fetch_assoc&#40;$course&#41;;
    $totalRows_course = mysql_num_rows&#40;$course&#41;;
    ?>
    Merci

Discussions similaires

  1. erreur de requête
    Par os_rasta dans le forum ASP
    Réponses: 13
    Dernier message: 22/03/2006, 11h08
  2. [PHP MySQL] Erreur execution requête de type INSERT
    Par Pfeffer dans le forum Requêtes
    Réponses: 6
    Dernier message: 23/01/2006, 18h38
  3. [Debutant]Erreur Récurent - Requête
    Par ghan77 dans le forum Bases de données
    Réponses: 19
    Dernier message: 10/01/2006, 14h09
  4. erreur exécution requête
    Par MANU_2 dans le forum Bases de données
    Réponses: 4
    Dernier message: 13/10/2005, 08h27
  5. Erreur de requête :-(
    Par pekka77 dans le forum ASP
    Réponses: 2
    Dernier message: 28/06/2005, 14h53

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