Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/05/2011, 17h16   #1
Invité régulier
 
Homme amine korteby
Étudiant
Inscription : avril 2011
Messages : 68
Détails du profil
Informations personnelles :
Nom : Homme amine korteby
Localisation : Algérie

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 68
Points : 9
Points : 9
Par défaut Requetes SQL INSERT INTO WHERE

Bonjour,
j'aimerai savoir si on peut écrire une requête SQL d'insertion avec une condition.
Je m'explique, mon client crée un compte ensuit si il veut il pourra s'inscrire à la newsletter et la un petit formulaire s'affiche lui disant d'enter son email et j'aimerai l'inséré dans ma table membre avec le reste des information de mon client.
pour faire j'ai utilisé cette requête

Code :
$sql = 'INSERT INTO memb (newslet) VALUES ("'.mysql_escape_string($_POST['newslet']).'") WHERE  pseudo ="'.$_SESSION['pseudo'].'"';
j'ai pris la session pour inséré la newsletter la ou ce trouve le pseudo de l'utilisateur

mais un message d'erreur s'affiche

Erreur SQL !INSERT INTO memb (newslet) VALUES ("m.a.korteby@gmail.com") WHERE pseudo ="makamine"
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 'WHERE pseudo ="makamine"' at line 1

et la je bloque complètement
makamine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2011, 00h06   #2
Membre émérite
 
Avatar de vorace
 
Homme
Développeur
Inscription : août 2010
Messages : 587
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur

Informations forums :
Inscription : août 2010
Messages : 587
Points : 861
Points : 861
tu fais un insert d'une ligne qui n'existe pas encore donc le where n'a aucune raison d'être, tu l'utilises sur un update si tu veux mais pas dans un insert qui sert à créer une nouvelle ligne dans ta table...
donc soit c'est :
Code :
$sql = 'INSERT INTO memb (newslet) VALUES ("'.mysql_escape_string($_POST['newslet']).'")';
mais si c'est dans la même table c'est plutot :
Code :
$sql = 'UPDATE memb SET newslet = "'.mysql_escape_string($_POST['newslet']).'" WHERE  pseudo ="'.$_SESSION['pseudo'].'"';
__________________
Développeur informatique contrarié...
vorace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2011, 00h40   #3
Invité régulier
 
Homme amine korteby
Étudiant
Inscription : avril 2011
Messages : 68
Détails du profil
Informations personnelles :
Nom : Homme amine korteby
Localisation : Algérie

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 68
Points : 9
Points : 9
Merci vorace j'ai essayer avec UPDATE et ça marche, en plus j'ai appris un truc avec les INSERT.
MERCI
makamine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2011, 00h53   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
je te conseil plus d'utiliser mysql_real_escape_string
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2011, 02h14   #5
Invité régulier
 
Homme amine korteby
Étudiant
Inscription : avril 2011
Messages : 68
Détails du profil
Informations personnelles :
Nom : Homme amine korteby
Localisation : Algérie

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 68
Points : 9
Points : 9
et quelle est la différence entre les deux ???
makamine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2011, 02h45   #6
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
Citation:
Envoyé par makamine Voir le message
et quelle est la différence entre les deux ???
mysql_escape_string est déprécié et n'utilise pas les paramètres de connexion
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2011, 10h05   #7
Invité régulier
 
Homme amine korteby
Étudiant
Inscription : avril 2011
Messages : 68
Détails du profil
Informations personnelles :
Nom : Homme amine korteby
Localisation : Algérie

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 68
Points : 9
Points : 9
d'accord merci pour l'information.
makamine est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h33.


 
 
 
 
Partenaires

Hébergement Web