Syntax error

Résolu
Ibnomar -  
 Ibnomar -
Bonjour,
J’ai écrit ma requête pour insérer les notes de mes élèves dans ma belle . Voici la requête :
$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.

EDIT : Ajout des balises de code

2 réponses

NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
"pour insérer les notes"
"UPDATE"
UPDATE met à jour, n'insère rien.

"SET :mat = :note"
Il me semble que les paramètres ne peuvent pas être des nom de champs ou de table, c'est une protection pour éviter les injections.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
SET :mat =

A remplacer par
SET $matiere =


et bien sûr... retirer ça de l'array data
':mat'=>$matiere,


0
Ibnomar
 
Merci beaucoup. Problème résol
0