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 :

Erreur de syntaxe dans mon code SQL


Sujet :

Requêtes MySQL

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 312
    Points : 155
    Points
    155
    Par défaut Erreur de syntaxe dans mon code SQL
    Bonsoir,

    J'ai la requête suivante, mais il y a une erreur. Quelqu'un peut me dire comment l'écrire correctement ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT t_rendezvous.HoraireDebut, t_rendezvous.HoraireFin, tbl_clientfournisseur.Nom, tbl_clientfournisseur.Adresse, tbl_clientfournisseur.[´Code Postale´], tbl_clientfournisseur.[`Localité`], tbl_clientfournisseur.Pays, tbl_eventsorte.Description 
    FROM tbl_clientfournisseur 
    INNER JOIN (t_rendezvous INNER JOIN tbl_eventsorte ON t_rendezvous.IdEvent = tbl_eventsorte.IdEvent) ON tbl_clientfournisseur.IdClient = t_rendezvous.NP 
    WHERE (((tbl_eventsorte.Description)=2));
    L'erreur est :
    #1064 - 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 '[`Code Postale`], tbl_clientfournisseur.[`Localité`], tbl_clientfournisseur.Pay' at line 1
    Je vous remercie d'avance

    Hans

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 312
    Points : 155
    Points
    155
    Par défaut
    Personne svp?

    J'ai trouvé partiellement le problème, mais maintenant, la requête n'affiche aucun résultat. Pourtant, quand je passe la requête directement dans mysql, il m'affiche bien des lignes, idem en Access.

    Quand je fais une requête simple sur 1 seule table (style SELECT * From etc), j'ai bien un tableau qui s'affiche sur ma page web.

    Qu'est-ce qui ne va pas ici ? Je travail sur le choix = 2 pour le moment. L'autre requête, je l'ai effacée pour le moment.

    Pls.

    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
    <body>
    <br>
    <h1>Selection</h1>
    <br>
    <?php
    $mysqli = new mysqli("localhost", "root", "", "cms");
     
    if (mysqli_connect_errno()) {
        printf("Echec de la connexion : %s\n", mysqli_connect_error());
    }
     
    if(isset($_GET['choix'])){
    $choix = $_GET['choix'];
     
     
     Switch($choix)
       {		
    	Case ($choix == 2):
            $sql = "SELECT t_rendezvous.HoraireDebut, tbl_clientfournisseur.Nom, tbl_clientfournisseur.Adresse, tbl_clientfournisseur.Localité
    				FROM tbl_clientfournisseur INNER JOIN (t_rendezvous INNER JOIN tbl_eventsorte ON t_rendezvous.IdEvent = tbl_eventsorte.IdEvent) ON tbl_clientfournisseur.IdClient = t_rendezvous.NP
    				WHERE (((tbl_eventsorte.IdEvent)=2))"; 
    		break;
     
           Case ($choix == 3):
          break;
       }
     }
     
    $resultat = mysqli_query($mysqli, $sql) or die(mysql_error());
    if($resultat != false){ 
    	$Nmax = 6; // nombre par page
    	$Ncur = 0; // n° de la fiche courante
    	$Ndeb=@$_GET["num"];
    	}
     
    echo "<p>";
    echo "<table border='1'>
    <tr>
    <th>Debut</th>
    <th>Chez qui</th>
    <th>Adresse</th>
    <th>Sorte Event</th> 
    </tr>";
     
    while(($row = mysqli_fetch_assoc($resultat))&& ($Ncur<$Nmax+$Ndeb)){
     if($Ncur>=$Ndeb) {
            echo "<tr>";
    		echo "<td>" . filter_var($row['HoraireDebut'],FILTER_SANITIZE_FULL_SPECIAL_CHARS) . "</td>";
    		echo "<td>" . filter_var($row['Nom'],FILTER_SANITIZE_FULL_SPECIAL_CHARS) . "</td>"; 
    		echo "<td>" . filter_var($row['Adresse'],FILTER_SANITIZE_FULL_SPECIAL_CHARS) . "</td>";
    		echo "<td>" . filter_var($row['Localité'],FILTER_SANITIZE_FULL_SPECIAL_CHARS) . "</td>";?>
     
    <?php }
    	$Ncur++;
       }
    echo "</table>";
     
    echo "<br>";
    ?>
     
    <table cellpadding=3>
    <tr>
    <?php
    if($Ndeb > 0)
    	{ ?> <td><form method="post" action="structure.php?page=select&choix=<?php echo $choix;?>&num=<?php echo $Ndeb-$Nmax;?>">
    			<input type="submit" value="Precedent" width="75px"></form></td><?php }?>
    	<td> <?php $Npag = ceil(mysqli_num_rows($resultat)/$Nmax);
    		for($i = 1;$i<=$Npag;$i++) {
    			if($Ndeb == ($i-1)*$Nmax) { ?>Page <?php echo $i; ?>
    		<?php } else { ?><a href="?page=select&choix=<?php echo $choix; ?>&num=<?php echo ($i-1)*$Nmax; ?>">&nbsp;<?php echo $i; ?>&nbsp;</a><?php }
    		} ?></td> 
    <?php
    if($row) { ?><td><form method="post" action="structure.php?page=select&choix=<?php echo $choix; ?>&num=<?php echo $Ncur; ?>">
    			<input type="submit" value="Prochain" width="75px"></form>
    </td><?php }?>
    </tr>
    </table>   
     
     
     <?php
    $sql = "";	
    ?>
    Je vous remercie pour vos remarques.

    Hans

  3. #3
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 016
    Points : 23 705
    Points
    23 705
    Par défaut
    Bonjour,

    Vous dites que la requête fonctionne bien quand vous la lancez directement sous MySQL ? Dans ce cas, ça signifie que le problème se situe dans votre code PHP (auquel cas il faut poser la question sur le forum adéquat).
    Quoi qu'il en soit, l'écriture de vos jointures est erronée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT t_rendezvous.HoraireDebut, tbl_clientfournisseur.Nom, tbl_clientfournisseur.Adresse, tbl_clientfournisseur.Localité
    FROM tbl_clientfournisseur 
        INNER JOIN t_rendezvous ON tbl_clientfournisseur.IdClient = t_rendezvous.NP
        INNER JOIN tbl_eventsorte ON t_rendezvous.IdEvent = tbl_eventsorte.IdEvent
    WHERE tbl_eventsorte.IdEvent = 2
    Autre conseil : évitez les accents dans les noms de colonnes (Localité par exemple). Ça peut expliquer une partie de vos difficultés...
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

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

Discussions similaires

  1. Erreur de syntaxe dans mon code (pas facile à trouver)
    Par beegees dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/01/2010, 07h42
  2. Erreur de syntaxe dans une requête SQL
    Par Gabout dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 08/01/2008, 17h19
  3. Erreur de syntaxe dans une requete SQL
    Par fikou dans le forum VB.NET
    Réponses: 5
    Dernier message: 26/07/2007, 17h14
  4. [XML] Rss, erreur de syntaxe dans mon flux?
    Par Soten dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 30/04/2007, 09h02
  5. Erreur de syntaxe dans une requête SQL
    Par amnesias dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/01/2007, 12h50

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