PHP - Erreur mysql avec WHERE
Résolu
PHPFANParis
-
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 :/
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:
- PHP - Erreur mysql avec WHERE
- Mysql community download - Télécharger - Bases de données
- Expert php pinterest - Télécharger - Langages
- Erreur t32 ✓ - Forum Livebox
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Une erreur s'est produite instagram ✓ - Forum Instagram
2 réponses
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
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