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 syntaxe sous [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 22
    Par défaut erreur de syntaxe sous
    voila, je souhaite afficher les résultat d'une requete SQl sur une page web.
    dans cette requette, j'utilise dans la clause FROM une variable issue d'une page précedente $NumCompte. Le probléme est que lorque j'execute ce code, Le navigateur m'affiche : Erreur de syntaxe près de ".LaValeurDeLaVariableSaisie" à la ligne 1.

    que faire? Si quelqu'un peut m'aider Ci-joint le code :

    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
     
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
     
    <title>CONSULTATION COMPTE</title>
    </head>
    <body>
     
    <div style="text-align: center;">
    <div style="text-align: center;"><img style="width: 996px; height: 225px;" alt="" src="ImagesSite/BanniereGSI002.bmp"><br>
    </div>
    <div style="text-align: left;">L'Etat de votre Compte au <?php $date = date("d-m-Y");
     
    Print("$date");
    ?><br>
    </div>
    <?php
    $NumCompte=$_POST['NumCompte'] ;
    $host = 'localhost';
    $user = 'root';
    $pass = '';
    $db = 'banque';
     
    // connection à la DB
    $link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
    mysql_select_db($db) or die ('Erreur :'.mysql_error());
     
    // requête SQL qui compte le nombre total d'enregistrement dans la table et qui
    //récupère tous les enregistrements
     
    $select = "SELECT * FROM '".$NumCompte."'";
     
    $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
    $total = mysql_num_rows($result);
     
     
    // si on a récupéré un résultat on l'affiche.
    if($total) {
    // debut du tableau
    echo '<table bgcolor="#FFFFFF">'."\n";
     
    echo '<tr>';
    echo '<td bgcolor="#99FF00"><b><u>Date</u></b></td>';
    echo '<td bgcolor="#99FF00"><b><u>Libelle Opération</u></b></td>';
    echo '<td bgcolor="#99FF00"><b><u>Debit en €uros (-)</u></b></td>';
    echo '<td bgcolor="#99FF00"><b><u>Credit en €uros (+)</u></b></td>';
     
    echo '</tr>'."\n";
     
    while($row = mysql_fetch_array($result)) {
    echo '<tr>';
    echo '<td bgcolor="#FFFF33">'.$row["Date"].'</td>';
    echo '<td bgcolor="#FFFF33">'.$row["Libellé d'opération"].'</td>';
    echo '<td bgcolor="#FFFF33">'.$row["Débit"].'</td>';
    echo '<td bgcolor="#FFFF33">'.$row["Crédit"].'</td>';
     
    echo '</tr>'."\n";
    }
    echo '</table>'."\n";
    // fin du tableau.
    }
    else echo 'Pas d\'enregistrements dans cette table...';
     
    // on libère le résultat
    mysql_free_result($result);
     
    ?>
    </div>
    </body>
    </html>

  2. #2
    Membre Expert
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Par défaut
    tu oublies de spécifier la table à priori dans ta requête...

    si la table s'appelle "compte" par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $select = "SELECT * FROM compte WHERE num_compte = ".$NumCompte;
    au passage, cette requête créée une possibilité une faille de type "injection SQL" car tu ne filtres pas le résultat de la superglobale "$_POST"...


  3. #3
    Membre confirmé Avatar de Sarrus
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2005
    Messages : 180
    Par défaut
    peut-être a-t-il une table par numéro de compte ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 22
    Par défaut une table par numéro de compte
    en fait la variable se situe dans la clause FROM, car j'ai une table par numéro de compte


    Si vous pouvez m'aider, c'est sympa


    @+

  5. #5
    Membre confirmé Avatar de Sarrus
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2005
    Messages : 180
    Par défaut
    enleve les simple quote autour de ta concatenation je pense.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $select = "SELECT * FROM ".$NumCompte."";

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 22
    Par défaut
    desolé, mais ça ne fonctionnez toujours pas

    SI vous avez une autre solution

    merci d'avance

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 22
    Par défaut
    en fait cela fonctionne si et seulement si le nom de ma table à consulter comporte des chiffres et des lettres, et non pas que des chiffres. Or c'est précisément ce dernier cas de figure qui m'interesse, comment faire pour effectuer cette requete présentée plus haut sur une table don le nom n'est que des chiffres.

    Ex: le code fonctionne si ma table se nomme AAA456822
    Mais si ma table se nomme 456822, alors cela ne fonctionne pas, et le message erreur de syntaxe à la ligne 1 apparait.

    Merci d'avance

  8. #8
    Membre confirmé Avatar de Sarrus
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2005
    Messages : 180
    Par défaut
    sans doute que ta base SQL ne supporte pas les tables de ce type...

    tu ne peux pas mettre un préfixe à toutes tes tables ? genre "C_" (pour Compte)

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

Discussions similaires

  1. Une erreur de syntaxe sous SqlServer? mais qui marche quand meme
    Par dzenakhra dans le forum Développement
    Réponses: 4
    Dernier message: 18/11/2008, 18h04
  2. erreur de syntaxe sur la requete iif sous sql access
    Par nadia123456 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 29/08/2008, 15h32
  3. Réponses: 3
    Dernier message: 22/12/2007, 14h06
  4. Agrégats et sous-requêtes "Erreur de syntaxe"
    Par Finidrigoler dans le forum Access
    Réponses: 3
    Dernier message: 08/12/2006, 17h39
  5. erreur de syntaxe sous-requête
    Par kenny49 dans le forum Requêtes
    Réponses: 5
    Dernier message: 26/07/2006, 16h10

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