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 :

Syntax error dans mon code


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 15
    Points : 10
    Points
    10
    Par défaut Syntax error dans mon code
    Bonjour,
    J’ai écrit ma requête pour insérer les notes de mes élèves dans ma table selon la matière . Voici la requête :

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $sql = "UPDATE bulletin SET :mat = :note Where id=:ident";
     $datas = array(':mat'=>$matiere, ':note'=>$personne_note,':ident'=>$personne_id);
     
    //Execution de la requete
    try{
      $requete = $bdd -> prepare($sql) ;
      $requete->execute($datas) ;
    }catch(Exception $e){
      // en cas d'erreur :
       echo " Erreur ! ".$e->getMessage();
       echo " Les datas : " ;
      print_r($datas);
    }

    Mais mon code affichait l’erreur :
    Syntax erreur or access violation
    Pouvez-vous m’expliquer le problème ?
    Merci d’avance.

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 136
    Points : 38 909
    Points
    38 909
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    Ce que vous communiquez n'est pas du SQL mais du code traitement.

    Toutefois, il apparaît clairement que vous n'exécutez pas la requête SQL, vérifiez l'ordre EXECUTE IMMEDIATE

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1-
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "UPDATE bulletin SET :mat = :note Where id=:ident";
    La requête est clairement fausse !
    A corriger.
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "UPDATE bulletin SET mat=:mat, note=:note WHERE id=:ident";

    2-
    Citation Envoyé par Ibn omar Voir le message
    ...pour insérer les notes de mes élèves dans ma table selon la matière....
    S'il s'agit d'insérer, alors :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "INSERT INTO bulletin (mat, note, id) VALUES (:mat, :note :ident)";

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Bonjour,

    1-
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "UPDATE bulletin SET :mat = :note Where id=:ident";
    La requête est clairement fausse !
    Sauf si :mat contient en fait le nom de la colonne. Si c'est le cas, ça ne fonctionnera pas parce que la structure de la requête n'est pas paramétrable, seules les valeurs le sont. Il faudrait alors écrire directement le nom de la colonne dans la requête, et passer la note et l’identifiant en paramètres.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Invité
    Invité(e)
    Par défaut
    @Celira
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ':mat'=>$matiere, ':note'=>$personne_note,...
    : "matière", "note", ça ne prête pas tellement à confusion... si ?

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    @jreaux : Je pensais à une table avec une structure du genre "identifiant_etudiant, note_maths, note_geo, note_science_nat..." Ce qui, je l'accorde, n'est pas une bonne structure, mais expliquerait la requête.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  7. #7
    Invité
    Invité(e)
    Par défaut
    @Celira

    Selon le principe du Rasoir d'Ockham :
    « Pourquoi faire compliqué quand on peut faire simple ? »

Discussions similaires

  1. [Python 2.X] Error dans mon code d'insertion dans la base
    Par baterfly dans le forum Général Python
    Réponses: 7
    Dernier message: 16/04/2015, 10h23
  2. Réponses: 1
    Dernier message: 11/07/2013, 20h51
  3. Parse error dans mon code
    Par feugana1 dans le forum Langage
    Réponses: 3
    Dernier message: 09/08/2010, 12h12
  4. 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
  5. Probleme de syntaxe dans mon code
    Par MacZerbe dans le forum Langage
    Réponses: 6
    Dernier message: 31/01/2009, 20h56

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