Mysqli ON DUPLICATE KEY UPDATE syntax error

Résolu
Herve_be Messages postés 1125 Date d'inscription   Statut Membre Dernière intervention   -  
Herve_be Messages postés 1125 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

Dans la table Announcements j'ai créé un index unique comme combinaison de 2 autres index (announcement_id et user_id).
Je ne parviens pas à trouver où est l'erreur de syntaxe dans cette ligne

mysqli_query($db,"INSERT INTO Announcements (`announcement_id`, `user_id`)
VALUES ('$AnnounceID','$UserID')
ON DUPLICATE KEY UPDATE user_id = ".$UserID);	// Ne pas ajouter de record s'il existe déjà

Merci d'avance pour votre aide
Windows / Chrome 127.0.0.0

A voir également:

2 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 

bonjour,

dans ce cas-là, il est utile de faire:

$sqlstr="INSERT INTO Announcements (`announcement_id`, `user_id`)
VALUES ('$AnnounceID','$UserID')
ON DUPLICATE KEY UPDATE user_id = ".$UserID);
echo $sqlstr;
mysqli_query($db,$sqlstr);

Cela te permet d"obtenir le contenu exact du texte de la requête, et de la tester en phpmyadmin.

0
Herve_be Messages postés 1125 Date d'inscription   Statut Membre Dernière intervention   10
 

Bonne idée, merci : il y avait un quote !

J'ai ajouté mysqli_real_escape_string : ça fonctionne.

0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 

Pourquoi utiliser ainsi deux approches différentes pour les deux insertions de la même variable dans la requête?

0
Herve_be Messages postés 1125 Date d'inscription   Statut Membre Dernière intervention   10
 

Pour ne pas avoir de doublon.

0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > Herve_be Messages postés 1125 Date d'inscription   Statut Membre Dernière intervention  
 

Pourquoi, une fois, insérer la variable dans la chaîne, et, une seconde fois, en concaténer le contenu?

0