Accueil > Forum > > > > Index unique et insertion
Index unique et insertion
vendredi 2 janvier 2009 à 03:45:11 |
Index unique et insertion

karpediem
|
Bonjour à toutezéatous, Tout d'abord, je vous souhaite une très belle année à tous avec du succès dans tous vos projets tant professionnels que personnels. Maintenant, je vais vous soumettre une question que je me pose... J'ai une table de mes utilisateurs avec les champs suivants : - id_user => auto_increment - login => j'ai défini dans phpadmin cette valeur comme étant unique - mot_de_passe - email => j'ai défini dans phpadmin cette valeur comme étant unique aussi - autres informations Avant de faire l'insertion, je vérifie si le email existe et aussi si le login existe => si mes 2 requêtes me renvoient 0 réponses c'est que je peux faire l'insertion... Je me pose la question si ces contrôles sont bien nécessaires... Est-ce que si je teste uniquement le résultat de l'insertion ça ne suffit pas à savoir si oui ou non ces valeurs sont uniques. C'est-à-dire, si le INSERT échoue c'est que le login et/ou le mail existent déjà quelque part dans la table ? Il peut bien-sûr y avoir d'autres raisons qui fassent échouer le INSERT, mais pour l'instant ces 2 là me semble être les plus importantes. J'ai d'ailleurs la même question concernant le UPDATE... Qu'en pensez-vous ? A bientôt
|
|
vendredi 2 janvier 2009 à 10:34:32 |
Re : Index unique et insertion

kohntark
|
Salut,
Non, ça ne sert à rien que tu testes leurs présences, fais l'INSERT directement et teste, si elle existe, l'erreur retournée (avec mysql_errno) Si elle est égal à 1062 (vérifie quand même que je ne me trompes pas) c'est que l'une des deux valeurs existe déjà (tu peux également savoir de laquelle il s'agit). S'il s'agit d'une autre erreur tu gères comme d'hab.
Cordialement,
Kohntark-
|
|
vendredi 2 janvier 2009 à 16:40:16 |
Re : Index unique et insertion

karpediem
|
T'es trop fort !!!
C'est exactement ça ! ça fonctionne SUPER bien !! C'est bien le 1062... MERCI bcp pour cette réponse...
Et puisque je t'ai sous la main je vais abuser un peu ;o))
Je m'embrouille un peu avec toutes les conversions de données à faire avant l'insertion ou la récupération de données dans les bases MySQL...
Alors, je me disais que pour faire simple, je pouvais définir toutes mes tables en utf8_bin plutôt qu'en latin1_swedish_ci puis dans mes définitions de page je définie ma balise <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Et comme ça, tous les champs de mes formulaires seront au bon format et à l'insertion je n'aurai pas besoin de faire des htmlspecialchars, nbl2r, et toutes ces choses là qui me semblent assez abscons... D'autant que si on les met à l'insertion, il faut les supprimer pour les afficher correctement, alors que si ma page html et ma base mysql ont le même "décodeur_langage_interpréteur", ils doivent se comprendre non ? (là aussi c'est intuitif ;o))
Pour l'instant ce que je fais c'est qu'avant d'insérer dans mysql une donnée issue d'un formulaire, je mets du trim(addslashes($_POST['saisie'])) et au moment de l'afficher, je fais du stripslashes('donnée_mysql').
Penses-tu que ce soit suffisant ? Est-ce que ça me dispense de tester si les magic-quotes-gpc sont à on ou à off ?
,
|
|
vendredi 2 janvier 2009 à 18:38:45 |
Re : Index unique et insertion

kohntark
|
Re, Alors, je me disais que pour faire simple, je pouvais définir toutes mes tables en utf8_bin plutôt qu'en latin1_swedish_ci puis dans mes définitions de page je définie ma balise [...] => effectivement, c'est une bonne idée, mais ça ne t'empêchera pas de rencontrer, selon les circonstances, des pbs. C'est une véritable galère l'encodage, vivement que seul l'utf8 survive. [...]ils doivent se comprendre non ?=> ça ne te dispensera pas de faire du traitement sur les données insérées. htmlspecialchars, nbl2r, etc ... n'ont rien à voir avec l'encodage. si on les met à l'insertion, il faut les supprimer pour les afficher correctement=> tu as une config incorrecte (magic_quotes ?), dans la majorité des cas il n'y a pas à faire de traitement des données issues d'une base trim(addslashes($_POST['saisie']))=> ok pour le trim, c'est tout  $saisie = trim($_POST['saisie']); $saisie = strip_tags($saisie); // à voir selon ce que tu souhaites faire $saisie = mysql_real_escape_string($saisie); [insertion en DB] (j'ai décompé mais ça peut être regroupé) stripslashes('donnée_mysql')=> pas besoin en principe. Ce que tu me décris ressemble bien à un magic_quotes activé => le mettre toujours à off, d'autant plus qu'il ne va plus exister d'ici un futur très proche. Cordialement, Kohntark -
|
|
vendredi 2 janvier 2009 à 18:41:09 |
Re : Index unique et insertion

kohntark
|
Et puis : T'es trop fort !!!Je sais, je me le dis chaque jour !!!  Non, franchement, je ne fais que me débrouiller un peu, mais ça ne va pas chercher loin. Kohntark -
|
|
samedi 3 janvier 2009 à 17:20:29 |
Re : Index unique et insertion

karpediem
|
Je te trouve un peu trop modeste !!!
C'est moi qui bidouille un peu, toi tu joues dans la cours des grands !
Moi c'est en cuisine que je joue dans la cours des grands (mais peut-être que toi aussi ;o))) malheureusement ça ne m'est d'aucune utilité pour développer mon appli ;o))
Quant à tes réponses, encore une fois, elles sont pile-poil ce qu'il me fallait ! Je comprends un peu mieux la justification de ces encodages étranges...
Encore un grand MERCI !!!
|
|
Cette discussion est classée dans : login, question, insertion, index, unique
Répondre à ce message
Sujets en rapport avec ce message
Index + Primaire + Unique [ par dorian53 ]
Bonjour,Je connais la méthode Merise qui demande de n'avoir qu'une seule clef primaire par table.Pourtant j'ai des champs internes ds ma table, autre
question securite_basededonne(jayed) [ par mohamedjayed ]
je veut creer une bouton ds l'index de mon site (l'index contient un formulaire d'authentification)ce bouton sert a donner l'acces au site au membre q
$_SERVER['SERVER_NAME'] sécurité ? [ par inconnuanonyme ]
SalutJe touche un peu au php et voici ma question :supposons que je possède un site chez free :http://site.free.frsur lequel se trouve l'index index.p
Mysql deplacer insertion [ par kishkaya ]
Ma question est tres simple : peut on deplacer les insertions d'une table mysql vers une autre table avec les même champs et dans la même base de donn
question bizard :) [ par xactise ]
Bonjours voici une question assez bizard :) tous le monde sait que pour "cacher" l'arborescence d'un dossier il faut avoir un fichier nomé index j'aim
login et redirection [ par francismzt ]
Salut à tous,Voila j'ai une page de petites annonces avec un lien vers la possibilité d'en déposer une, mais cette nouvelle page est sécurisé par un i
login unique [ par Queeny ]
bonjour,n'etant pas un developpeur/programmeur, j'ai créé un site php avec un cms ce qui est relativement simple d'utilisation. J'ai aussi un forum ph
p'tite question fichier index [ par joebuz ]
salut,j'ai une petite question qui me tracasse, j'ai un site web, et wap, pour le site web l'index est index.html ou .phpet pour le wap index.wmlle pr
Question sur l'insertion en php d'asp [ par Dyr3e ]
bonjour tout le monde,je dois faire evoluer une application pour une intranet qui existait initialement sous access 97. les requete semble relativemen
Php session [ par bm1982 ]
Bonjour à tous : Je suis un debutant en php qui veut maintenant utliser les sessions. En effet , j ai une page PHP pour que mes users puissent saisir
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|