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 :

Requête Update retourne une erreur de syntaxe [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2020
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2020
    Messages : 25
    Points : 12
    Points
    12
    Par défaut Requête Update retourne une erreur de syntaxe
    Hey !

    J'vien de m'inscrire sur le forum , j'ai un petit soucis avec mon code , je comprends vraiment pas ce qu'il ce passe parce que au vue de tout les exemples consultée , mon bout de code devrais marcher , voici le code erreur
    Error updating record You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax
    Voici le code PHP/SQL pour la connection en BDD

    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
    if(! $con ) {
                die('Could not connect: ' . mysqli_error());
            }
            echo 'Connected successfully<br>';
    $sql = 'UPDATE
            `sites`
            SET
            `name` = '.$name.',
            `owner` = '.$owner.',
            `activate` = '.$active.',
            `die` = '.$die.',
            `WHERE`
            `id` = '.$id;
     
            if (mysqli_query($con, $sql)) {
                echo "Record deleted successfully";
            } else {
                echo "Error updating record " . mysqli_error($con);
            }
            mysqli_close($con);
    Si un pro du SQL passe par ici Moi c'est pas trop mon truc ;p

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Bonjour, on veux bien le retour de l'erreur.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2020
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2020
    Messages : 25
    Points : 12
    Points
    12
    Par défaut
    Oh , déjà une réponse ! :p

    Error updating record 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 'Crenier,
    `activate` = 1,
    `die` = 0,
    `WHERE`
    `id`' at line 5
    C'est ça que tu veux non ?

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Il y a une virgule de trop, il n'en faut pas avant le where


  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2020
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2020
    Messages : 25
    Points : 12
    Points
    12
    Par défaut
    Raaah x) Bon par contre c'est corrigé mais sa marche toujours pas , ca m'retourne toujours la meme erreur :/

  6. #6
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Crenier doit-être du texte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    $sql = "UPDATE
            `sites`
            SET
            `name` = '" . $name . "',
            `owner` = " . $owner . ",
            `activate` = " . $active . ",
            `die` = " . $die . ",
            `WHERE`
            `id` = " . $id;

  7. #7
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2020
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2020
    Messages : 25
    Points : 12
    Points
    12
    Par défaut
    J'ai changé un peu mon code , j'ai enlevé les variables pour faire des test , toujours la même erreur...

    Mon nouveau code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
         $sql = 'UPDATE
            `sites`
            SET
            `name` = kirikou,
            `owner` = le petit,
            `activate` = 0,
            `die` = 1
            WHERE
            `id` = 2';

  8. #8
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    ok, tout ce qui est varchar, doit être en string, donc ici kirikou et le petit, il faut les entourées de quote

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
      $sql = "UPDATE
            `sites`
            SET
            `name` = 'kirikou',
            `owner` = 'le petit',
            `activate` = 0,
            `die` = 1
            WHERE
            `id` = 2";

  9. #9
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2020
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2020
    Messages : 25
    Points : 12
    Points
    12
    Par défaut
    Bon , c'est bon j'ai réussi , en effet tu avais bien raison , il s’agissait d'un problème au niveau de l'encodage des variables !

    Voici le code sans bug pour d'eventuelle personne qui tomberons un jours sur s'topic en ayant la même erreur ;p

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $sql = 'UPDATE `sites` SET `name` = "'.$name.'", `owner` = "'.$owner.'", `activate` = '.$active.', `die` = '.$die.' WHERE `id` = '.$id.'';


    J'ai typé mes variables de cette façon aussi. J'vais commencer a faire la sécu maintenant ! Merci beaucoup
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        $name = (string) $data[1];
        $owner = (string) $data[2];

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

Discussions similaires

  1. [9.3] [phppgadmin] Requête simple retourne une erreur
    Par totophe56 dans le forum Requêtes
    Réponses: 4
    Dernier message: 24/09/2015, 15h28
  2. Réponses: 8
    Dernier message: 09/09/2008, 09h28
  3. [MySQL] Requête INSERT générant une erreur de syntaxe SQL
    Par lavande4 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 23/08/2008, 14h41
  4. [VB.Net] Pourquoi ai-je une erreur de syntaxe INSERT UPDATE ?
    Par zzzmoi dans le forum Accès aux données
    Réponses: 14
    Dernier message: 17/08/2006, 14h21
  5. Y aurait-il une erreur de syntaxe ?
    Par mpat dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 21/12/2005, 15h07

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