PHP - Erreur mysql avec WHERE

Résolu
PHPFANParis -  
 PHPFANParis -
Bonjour,

J'ai une erreur mysql : Unknown column 'maxou' in 'where clause'

Voici mon code

$login = $_SESSION['user'];
$del = mysql_query('DELETE FROM users WHERE login=' . $login)or die(mysql_error());

ma table contient 3 variables une variable id, une variable login et une variable code postal

Voici l'aspect de ma table
id (format int) | login (format text) | codep (format text)
2 | maxou | 75000

Ca marche quand je remplace WHERE login par where id ou par WHERE codep, mais pas pour login. Je ne comprends pas :/
A voir également:

2 réponses

Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Bonjour,

Ta requête telle que vue par MySQL :
DELETE FROM users WHERE login=Maxou

Il manque donc les quotes autour de Maxou, qui est une chaîne de caractère. Sinon, MySQL croit que Maxou est une colonne.

Ca marche quand tu mets la colonne ID parce que ton id est du type INT, et n'a donc pas besoin de quotes.

Bref, tout ça pour en venir à la correction suivante :
$del = mysql_query('DELETE FROM users WHERE login=\'' . $login.'\'')or die(mysql_error());

Ou, plus lisible à mon avis :
$del = mysql_query("DELETE FROM users WHERE login='$login' ")or die(mysql_error());

Xavier
1
PHPFANParis
 
C'est résolu merci beaucoup
0