Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1360 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Modifier valeur dans une base SQL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Modifier valeur dans une base SQL

n°2148485
_kana_
Posté le 06-07-2012 à 20:40:38  profilanswer
 

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é,
 
http://image.noelshack.com/fichiers/2012/27/1341597856-sql.jpg
 
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.

mood
Publicité
Posté le 06-07-2012 à 20:40:38  profilanswer
 

n°2148496
xaeon
Profil: TT
Posté le 06-07-2012 à 22:11:32  profilanswer
 

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'

n°2148500
Archaygo
Posté le 06-07-2012 à 22:29:17  profilanswer
 

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 :
  1. 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 :
  1. 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

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Modifier valeur dans une base SQL

 

Sujets relatifs
Recherche dans une base de donnée Access Modifier une valeur pour l'affichage
Est il possible de modifier un programme pour mettre a jour le contenudifférences entre SQL Server et MySQL
Récupérer valeur dir en vbsInsertion checkbox dans page html et affichage valeur
[SP4 SQL Server 2000] Developer EditionBouton "Like" de Facebook : modifier la popup
[SQL] Une requette avec DISTINCT et COUNT 
Plus de sujets relatifs à : Modifier valeur dans une base SQL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR