Erreur suite à un accès à 3e table

Erreur suite à un accès à 3e table - PHP - Programmation

Marsh Posté le 15-07-2007 à 17:47:58    

J'ai ajouté un accès à une 3e table et je reçois cette erreur:
 
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
 
 

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  5. <title>Palmarès de l'ATS</title>
  6. <link href="../ats.css" rel="stylesheet" media="screen">
  7. </head>
  8. <body>
  9. <div class="conteneur">
  10. <div class="header">
  11.  <p class="top">
  12.   <a href="http://www.ats3r.org"><img src="../site/images/accueil.gif" border="0" alt="Nous joindre par courriel"></img></a>
  13.  </p>
  14. </div>
  15.  <div class="framebloc">
  16. <?php
  17. require("../config.inc.php" );
  18. mysql_select_db("ATS" ); // Sélection de la base de données
  19. $reponse = mysql_query("SELECT * FROM ATS_resultat order by dt_debut,evenement,categorie,niveau" ) or die(mysql_error());
  20. ?>
  21. <p align="center"><h2>Tournoi : Succès obtenus et participation de nos équipes</h2></p>
  22. <table border="1" align="Center">
  23. <tr align="center">
  24.  <td width="30"><strong>No</strong></td>
  25.  <td width="250"><strong>Événement</strong></td>
  26.  <td width="90"><strong>Équipe</strong></td>
  27.  <td width="100"><strong>Résultat</strong></td>
  28.  <td width="40"><strong>Entraîneur</strong></td>
  29.  <td width="40"><strong>Photo</strong></td>
  30. </tr>
  31. <?php
  32. // Boucle pour afficher les résultats par équipe
  33. while ($donnees = mysql_fetch_array($reponse) )
  34. {
  35. $no_tournoi=$donnees['no_tournoi'];
  36. $no_equipe=$donnees['no_equipe'];
  37. ?>
  38.  <tr>
  39.   <td align="center"><?php echo $donnees['no']; ?></td>
  40.   <?php
  41.    // Afficher les informations du tournoi
  42.    $rep_tournoi = mysql_query("SELECT * FROM tournoi where id=$no_tournoi" ) or die(mysql_error());
  43.    $d_tournoi=mysql_fetch_array($rep_tournoi);
  44.   ?>
  45.   <td>
  46.    <?php
  47.     $lien=$d_tournoi['site'];
  48.     if (empty($lien)) {
  49.      echo $d_tournoi['identification'].'<br>';
  50.     }
  51.     else {
  52.      echo '<a href = '.$lien.'>'.$d_tournoi['identification'].'</a><br>';
  53.     }
  54.     echo 'Date : ' .$d_tournoi['dt_debut'];'BR'?> au <?php echo $d_tournoi['dt_fin'];
  55.    ?>
  56. </td>
  57. <?php
  58.  $rep_equipe = mysql_query("SELECT * FROM ATS_equipe where no_equipe=$no_equipe" ) or die(mysql_error());
  59.  $d_equipe=mysql_fetch_array($rep_equipe);
  60. ?>
  61. <td align="center">
  62.  <?php echo $d_equipe['categorie'];?><br />
  63.  <?php echo $d_equipe['niveau']; ?><br />
  64.  <?php
  65.   $c_sexe = $d_equipe['sexe'];
  66.   switch($c_sexe)
  67.    {
  68.    case 'F':
  69.     echo "Féminin";
  70.     break;
  71.    case 'M':
  72.     echo "Masculin";
  73.     break;
  74.    case ' ':
  75.     echo "";
  76.     break;
  77.   }
  78.  ?>
  79. </td>
  80. <td align="center">
  81.  <?php echo $donnees['resultat']; ?>
  82. </td>
  83. <td>
  84.  <?php echo $donnees['entraineur']; ?>
  85. </td>
  86.  <?php
  87.   $c_lien=$donnees['lien_photo'];
  88.   if ($donnees['lien_photo']!="" ) {
  89.    echo "<td align='center' valign='middle'><a href='$c_lien'><img src='site/images/apn.jpg' border='0'></a></td>";
  90.   }
  91.   else {
  92.    echo "<td>&nbsp;</td>";
  93.   }
  94.  ?>
  95. </tr>
  96. <?php
  97. }
  98. mysql_close(); // Déconnexion de MySQL
  99. ?>
  100. </table>
  101. <br /><br />
  102. <p align="center"><strong>La participation &agrave; un tournoi doit &ecirc;tre approuv&eacute;e pour le comit&eacute; technique de l'ATS.</strong></p>
  103. </div> <!-- Fin Frame -->
  104. <div class="footer">Merci de signaler vos succès à l'ATS</div>
  105. </div>
  106. </body>
  107. </html>

Reply

Marsh Posté le 15-07-2007 à 17:47:58   

Reply

Marsh Posté le 15-07-2007 à 18:02:36    

$no_equipe est bien un int ?
Si oui, vérifie sa valeur avant la requête via un echo au cas où il vaudrait null
Sinon, essaie ça : mysql_query("SELECT * FROM `ATS_equipe` WHERE no_equipe=".$no_equipe)or die(mysql_error());
 
Sinon, je ne vois pas

Reply

Marsh Posté le 15-07-2007 à 18:06:09    

no_equipe est varchar(7) dans les deux tables.
 
Je vais tester ce que tu dis.

Reply

Marsh Posté le 15-07-2007 à 18:08:27    

mon constat est que si j'enlève le Where, l'affichage s'effectue même si ce n'est pas la bonne équipe.

Reply

Marsh Posté le 15-07-2007 à 18:08:42    

alors non, si c'est un varchar, c'est normal que ça plante
 
un varchar doit prendre des simples quotes autour de la variable php dans la requête
 
Teste ça : mysql_query("SELECT * FROM `ATS_equipe` WHERE no_equipe='".$no_equipe."'" )or die(mysql_error());
 
 
EDIT : j'ai jamais dit d'enlever le WHERE  :pt1cable:
 
EDIT2 : correction de la requête, manquait un guillemet à la fin


Message édité par Mirlouf le 15-07-2007 à 18:09:54
Reply

Marsh Posté le 15-07-2007 à 18:13:29    

J'ai une erreur sur la ligne: Parse error: parse error, unexpected '=' in /var/www/vhosts/ats3r.org/httpdocs/succes/palm.php on line 65
 
Note: j'avais enlevé le where pour voir si l'erreur se situait dans ce bout de ligne.

Reply

Marsh Posté le 15-07-2007 à 18:24:37    

Tu as recopié ma requête avec la modif ? J'avais oublié un guillemet ;)
 
mysql_query("SELECT * FROM `ATS_equipe` WHERE no_equipe='".$no_equipe."'" )or die(mysql_error());
 
Fais bien un copier/coller

Reply

Marsh Posté le 15-07-2007 à 18:37:59    

J'ai effectivement fait un copier-coller
 
Parse error: parse error, unexpected '=' in /var/www/vhosts/ats3r.org/httpdocs/succes/palm.php on line 65
 
 <?php
  //echo $no_equipe;
  rep_equipe=mysql_query("SELECT * FROM `ATS_equipe` WHERE no_equipe='".$no_equipe."'" )or die(mysql_error());
  $d_equipe=mysql_fetch_array($rep_equipe);  
 ?>

Reply

Marsh Posté le 15-07-2007 à 18:47:30    

Baaa là ... euuh ... je sais pas trop, renomme ta variable $no_equipe, je sais pas, il aime peut-être pas la proximité des noms.
 
J'ai testé plusieurs cas chez moi mais je vois pas pourquoi ça plante.
Peut-être pourrais-tu afficher la structure de tes deux tables sql (ATS_equipe et ATS_resultat)

Reply

Marsh Posté le 15-07-2007 à 20:42:12    

J'ai mis mes deux variables à int(4) et ça fonctionne!


Message édité par fourniey le 15-07-2007 à 21:34:53
Reply

Marsh Posté le 15-07-2007 à 20:42:12   

Reply

Sujets relatifs:

Leave a Replay

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