PHP - Erreur mysql avec WHERE

Résolu/Fermé
PHPFANParis - 31 mai 2012 à 21:54
 PHPFANParis - 31 mai 2012 à 22:30
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 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
31 mai 2012 à 21:59
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
31 mai 2012 à 22:30
C'est résolu merci beaucoup
0