Modifier valeur dans une base SQL - PHP - Programmation
Marsh Posté le 06-07-2012 à 22:11:32
Si tu souhaites qsue la modification soit appliquée à toutes les nouvelles entrées de ta table ce sera:
ALTER TABLE `membres` CHANGE `valide` `valide` ENUM('0', '1') DEFAULT '0'
Si tu souhaites également passer tous tes membres à 0:
UPDATE `membres` SET `valide` = '0'
Marsh Posté le 06-07-2012 à 22:29:17
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 :
|
Ensuite, si tu souhaites mettre à jour un utilisateur après avoir fait cette modification :
Code :
|
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.
Marsh Posté le 06-07-2012 à 20:40:38
Bonjour,
J'ai un formulaire d'inscription en php, jecherche une commande pour modifier une valeur dans une base SQL quand un nouveau membre s'inscrit, la table se nomme "membres"
Par défaut la valeur se met toujours à 1 mais je voudrais que ce soit le 0 qui soit selectionné,
Quelle commande utilisée? J'ai ça
mysql_query("UPDATE membres SET valide='0' WHERE id='" . $_GET['pseudo'] . "'" );
ça ne fonctionne pas,
je précise que je n'y connais pas grand chose en programmation même si ça se voit surement.
Merci d'avance.