[Mysql] insertion dans bdd

Résolu
Bonjour,

Je souhaiterait inscrire la valeur de la variable $mail dans ma bdd.
Or rien ne s'enregistre et aucune erreur ne m'est retournée...

$mail = 'test_mail';
mysql_query("INSERT INTO inscrits WHERE nom='test' VALUES('', '', '', '$mail')") or die(mysql_error());


(dans ma table il y a bien 4 champs dont le 4ème est celui qui est vide et où doit s'inscrire la variable).

Ceci n'est qu'un exemple pour ne présenter qu'un seul problème à la fois.
En vrai, 'test_mail' est une add mail et la requête change par
WHERE nom='$nom' 
, mais dans ce 2ème cas on m'indique une erreur de syntaxe.

Donc comment résoudre ces 2 problèmes (insertion vide + syntaxe avec add mail) ?
Configuration: Windows Vista
Firefox 3.5.5

5 réponses

  1. Bonjour,

    d'après moi

    si tu fais un INSERT INTO c'est une création d'un nouvel élément, mais si tu crée le quelque chose, il ne peut pas deja être égale a $nom donc le WHERE est faux.
    Un where n'a pas sa place dans un INSERT INTO d'après moi toujours ^^

    Je te conseil d'utiliser UPDATE plutot que INSERT pour mettre à jour un élément déjà existant

    UPDATE inscrits SET TONCHAMP = '$mail' WHERE nom = '$nom'
    1. Merci pour tes liens ils sont géniaux, j'ai enfin découvert l'erreur !
      1. D'abord, pour la prochaine fois, penses à cocher le bouton "Résolu"
        1. Ok ok, je ne pouvais pas le faire via mon Ipod mais maintenant c'est bon.