Mysqli ON DUPLICATE KEY UPDATE syntax error

Résolu
Herve_be Messages postés 1051 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 19 septembre 2024 - 17 août 2024 à 10:42
Herve_be Messages postés 1051 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 19 septembre 2024 - 17 août 2024 à 15:53

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 23196 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 septembre 2024 Ambassadeur 1 534
17 août 2024 à 15:16

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 1051 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 19 septembre 2024 9
17 août 2024 à 15:53

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

J'ai ajouté mysqli_real_escape_string : ça fonctionne.

0
yg_be Messages postés 23196 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 septembre 2024 Ambassadeur 1 534
17 août 2024 à 15:18

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 1051 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 19 septembre 2024 9
17 août 2024 à 15:34

Pour ne pas avoir de doublon.

0
yg_be Messages postés 23196 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 septembre 2024 1 534 > Herve_be Messages postés 1051 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 19 septembre 2024
17 août 2024 à 15:45

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

0