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 SQL ! [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2012
    Messages : 253
    Par défaut Erreur de SQL !
    Bonjour a tous, j'ai une erreur de sql :

    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 ''matable' WHERE 'matable'.'ID'=1' at line 1.
    Voici une partie de mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     <?php
    //on se connecte à phpadmin. 
    mysql_connect("localhost", "root", ""); 
    mysql_select_db("test"); // On séléctionne la base de donnée test sur laquelle on veut travailler. 
    ?>
    <?php  
    mysql_select_db("matable"); //on doit récupérer la nouvelle donnée
    if(isset($_POST['armeesdiv']) AND isset($_POST['position']))//On verifie si les variables sont initialisées{
            $armeesdiv = mysql_real_escape_string(htmlspecialchars($_POST['armeesdiv'])); //On protege contre les scripts
    	    $position = mysql_real_escape_string(htmlspecialchars($_POST['position'])); //On protege contre les scripts
    $resultSelect = mysql_query("SELECT 'id', 'armeesdiv' FROM 'matable' WHERE 'matable'.'ID'=$position") OR die('Erreur de SQL !<br>'.mysql_error());//On selectionne dans la BdD
    J'essais de mettre une variable en guise de numero pour l'id et ca ne passe pas, il y a erreur.

    le reste du code est bon, c'est en ajoutant cette variable apres l'id qu'il y a toujours une erreur.

    J'ai fait divers essais, je sais plus que faire, j'ai besoin d'aide, merci pour votre aide.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Pour entourer le nom des éléments mysql c'est ` et pas ', tu aussi ne rien mettre s'il n'y a pas d'ambiguité.
    Si id est un id numérique, utilise intval et non mysql_real_escape_string (qui protège des injections SQL, pas des scripts)
    Par contre utilise pas htmlspecialchars pour l'affichage mais pas dans les requêtes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if(isset($_POST['armeesdiv']) AND isset($_POST['position']))//On verifie si les variables sont initialisées
    {
            $armeesdiv = mysql_real_escape_string($_POST['armeesdiv']);
    	$position = intval($_POST['position']);
     
            $resultSelect = mysql_query("SELECT id, armeesdiv FROM matable WHERE id = $position");
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2012
    Messages : 253
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Pour entourer le nom des éléments mysql c'est ` et pas ', tu aussi ne rien mettre s'il n'y a pas d'ambiguité.
    Merci Sabotage,
    le ` provient de la touche 7 du clavier ?

    qu'appelle tu sans ambiguité ???


    Encore une autre question :

    <option value="xxx"> xxx</option>, dans ce type d'option, peut on avoir plusieurs value dans la meme ligne option, ou avoir un truc du genre : <option value="xxx [] "> xxx</option>, merci.

    Sinon le code sql ne coince plus, merci et bonne journée.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    oui ` est sur la touche d'un clavier français.
    ` peut servir pour un identifiant qui contiendrait des caractères spéciaux ; le plus simple c'est de ne pas en avoir.

    Une <option> correspond à un seul choix, pourquoi y aurait-il plusieurs valeurs associées ?
    Si l'idée est qu'une option entraine plusieurs paramètres, il faut le faire à reception :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    switch ($_POST['select']) {
        case '1' :
              $couleur = 'bleu';
              $taille = 'L';
        break;
     
       case '2' :
              $couleur = 'vert';
              $taille = 'M';
        break;
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2012
    Messages : 253
    Par défaut
    Merci pour ces precisions,
    quelle serait alors la syntaxe pour une option ayant plusieurs parametre ?

    j'ai terminé pour les questions.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Je viens de te montrer comment faire non ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 12/12/2005, 13h13
  2. Réponses: 10
    Dernier message: 26/01/2005, 19h48
  3. [CE10 Pro] Erreur Connexion SQL pour etats publiés
    Par L.nico dans le forum Connectivité
    Réponses: 1
    Dernier message: 09/12/2004, 17h16
  4. catch des erreurs dans SQL+
    Par lalystar dans le forum Oracle
    Réponses: 2
    Dernier message: 21/09/2004, 15h17
  5. message d'erreur "Microsoft SQL-DMO"
    Par tachi dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 17/08/2004, 11h47

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