IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Plusieurs valeurs identiques dans la même colonne. Possible ? [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 83
    Points : 69
    Points
    69
    Par défaut Plusieurs valeurs identiques dans la même colonne. Possible ?
    Bonsoir à tous, je voulais savoir si il était possible d'avoir plusieurs valeurs identiques dans la même colonne d'une table.

    Ma table après la première entrée de données :
    Nom : 07240c7049c7476c88b5e0d65dc06e36.png
Affichages : 248
Taille : 30,2 Ko
    (l'entrée qui pose problème est la dernière avec l'adresse mail cyrilma@hotmail.fr)

    Ensuite quand je rentre dans mon formulaire d'autres informations avec la même adresse mail j'obtiens cette erreur :
    Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'cyrilma@hotmail.fr' for key 'mail'' in /home/monpremi/public_html/envoie_1mois.php:105 Stack trace: #0 /home/monpremi/public_html/envoie_1mois.php(105): PDOStatement->execute(Array) #1 {main} thrown in /home/monpremi/public_html/envoie_1mois.php on line 105
    Mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $req = $bdd->prepare('INSERT INTO commande(id_commande, article, prenom, nom, mail, ip, code_envoye, date) '
                        . 'VALUES(:id_commande, :article, :prenom, :nom, :mail, :ip, :code_envoye, :date)');
                $req->execute(array(
    				'id_commande' => '',
                    'article' => $_SESSION['produit'],
                    'prenom' => $_SESSION['prenom'],
                    'nom' => $_SESSION['nom'],
                    'mail' => $_SESSION['mail'],
                    'ip' => $_SESSION['ip'],
    				'code_envoye' => $code,
    				'date' => '',
    (ligne 105)			));
                $reponse->closeCursor();
    Par contre quand je change d'adresse mail, il n'y a aucun problème :
    Nom : d682efda3c024defb7e1952ef1b04837.png
Affichages : 235
Taille : 15,6 Ko

    La question que je me pose est pourquoi mysql refuse d'accepter la même valeur dans la colonne "mail" alors qu'elle le fait pour les autres.
    Merci et bonne soirée

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as visiblement mis un index "unique" sur cette colonne.
    Dans phpmyadmin dans l'onglet "structure", sous la liste des colonnes, tu as un lien "index".
    Dedans tu dois voir la clef primaire de ta table et un index sur la colonne 'mail'
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 83
    Points : 69
    Points
    69
    Par défaut
    Dans structure je vois que "unique" à côté de primaire est surligner en gris :
    Nom : b5d9e16d0ee74061868ed9f417de26a8.png
Affichages : 235
Taille : 22,1 Ko

    J'ai utilisé la commande :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER TABLE commande
    DROP INDEX mail;

    Mais toujours le même résultat avec le même surlignage.

    EDITE :
    J'ai réglé le problème, j'ai supprimer la colonne mail et en ai recréer une autre.
    Nom : 768b8944214d4243aa03f188e49563f1.png
Affichages : 244
Taille : 44,5 Ko
    Merci pour ton aide. Bonne soirée

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il fallait faire comme je t'ai indiqué mais bon.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 83
    Points : 69
    Points
    69
    Par défaut
    J'avais essayé mais ça n'avais pas marcher. Je crois que je cliquais sur unique pour le retirer mais ça n'a pas fonctionner. J'avais aussi essayer une commande pour désindexer ma colonne mais sans succès. J'ai donc opter pour la facilité même si je sais que c'est pas forcément la plus recommandée.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je n'avais pas dit de cliquer sur UNIQUE ni de lancer une commande.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Permutation de deux valeurs dans une même colonne de table
    Par andry.aime dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/01/2009, 14h19
  2. Réponses: 8
    Dernier message: 28/12/2008, 18h08
  3. Réponses: 1
    Dernier message: 07/08/2007, 10h06
  4. [c#] plusieurs images dans la même colonne
    Par nemya dans le forum ASP.NET
    Réponses: 1
    Dernier message: 26/10/2006, 14h09
  5. Réponses: 16
    Dernier message: 19/07/2006, 01h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo