Plusieurs choses ne sont pas convenables dans ce que tu fais. Je vais supposer que tu utilises MySQL, mais ça serait bien de le préciser, je ne peux pas deviner.
Premièrement, si tu souhaites que la valeur par défaut soit 0, tu peux le définir directement. J'ajouterais qu'utiliser un ENUM pour mettre 0 ou 1 est inutile. Je te conseil plutôt de te servir d'un TINYINT qui sert souvent pour tout ce qui est booléen. Pour modifier tout ça, en MySQL :
Code :
- ALTER TABLE membres MODIFY COLUMN valide TINYINT(1) NOT NULL DEFAULT 0;
|
Ensuite, si tu souhaites mettre à jour un utilisateur après avoir fait cette modification :
Code :
- UPDATE membres SET valide = 0 WHERE id=nombre
|
L'erreur dans ta requête, est probablement que tu a mis des quote dans ta clause WHERE pour ta colonne id, qui, je suppose, est de type INT et attend donc un entier. Tu peux aussi enlever la clause WHERE si tu veux tout mettre à jour, comme dans l'exemple de xaeon.
Et aussi, j'ajouterai que passer une variable GET directement dans une requête SQL, c'est une énorme erreur de sécurité. C'est un sujet trop vaste que je n'aborderai donc pas ici. Mais ne fait pas ça comme ça, tu dois d'abord vérifier la valeur de ton $_GET['pseudo'] avant de le mettre dans ta requête. Cherche « injection SQL » sur ton moteur de recherche favori.
Message édité par Archaygo le 06-07-2012 à 22:30:11