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 :

Insertion avec clé étrangère [PDO]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Homme Profil pro
    Alternant Admin Sys et Réseaux
    Inscrit en
    Mai 2016
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Alternant Admin Sys et Réseaux

    Informations forums :
    Inscription : Mai 2016
    Messages : 41
    Par défaut Insertion avec clé étrangère
    Bon, j'ai réussi à créer ma clé étrangère, mais je rencontre un autre problème maintenant.
    Pour éviter de spammer le forum de mes sujets, je vais faire part du souci ici.

    Maintenant que j'ai ma clé étrangère, j'aimerai bien pouvoir insérer dans ma bdd le message du membre, en lui attribuant l'id correspondant à l'auteur.
    Par exemple, lorsque Dan poste un message, puisque son id dasns la BDD est le 6, j'aimerai que la colonne id_Auteur de la table minichat associe l'id 6 à son message. Et ce pour tous les messages de Dan, à chaque fois.

    Du coup, au départ je voulais insérer dans une variable le pseudo que je récupère en POST, pour l'insérer dans une première requête qui irai chercher l'id de l'auteur en question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $pseudo=htmlspecialchars($_POST['pseudo']);
            $idAuteur = $bdd->prepare('SELECT id FROM membre WHERE pseudo="$pseudo"');
    Puis lors de la requête d'insertion dans la BDD, utiliser cette variable créer plus tôt pour lui dire de donner la valeur X à id_Auteur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $req = $bdd->prepare('INSERT INTO minichat (pseudo, message, id_auteur) VALUES (:pseudo, :message, :id_auteur)');
            $req->execute(array(
                'pseudo' => $pseudo,
                'message' => htmlspecialchars($_POST['message']),
                'id_auteur'=>$idAuteur));
    Sauf que voilà, je rencontre un problème :
    Object of class PDOStatement could not be converted to string


    Ne connaissant pas encore trop bien PDO, j'aurai besoin d'un coup de main pour corriger mon code.

    Je vous remercie.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Un peu de logique... Et de simplicité.

    1/ Si tu es capable de mettre le pseudo en session lors de la connexion, pourquoi ne pas aussi y mettre l'id (membre) ??

    2/ le champ pseudo n'est plus nécessaire (ni recommandé) dans la table minichat, puisque tu y enregistres l'id (membre)


    Ça simplifie nettement la logistique !

  3. #3
    Membre averti
    Homme Profil pro
    Alternant Admin Sys et Réseaux
    Inscrit en
    Mai 2016
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Alternant Admin Sys et Réseaux

    Informations forums :
    Inscription : Mai 2016
    Messages : 41
    Par défaut
    Bordel je suis vraiment trop con... --'
    Merci pour le coup de main.

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

Discussions similaires

  1. INSERT et SELECT avec clé étrangère
    Par anisj1m dans le forum Langage SQL
    Réponses: 3
    Dernier message: 28/05/2017, 07h58
  2. INSERT et SELECT avec clé étrangère
    Par micheliai dans le forum Langage SQL
    Réponses: 5
    Dernier message: 26/09/2015, 23h14
  3. MySQL : insertion dans table avec clés étrangères
    Par chatmi dans le forum Requêtes
    Réponses: 7
    Dernier message: 22/06/2012, 15h36
  4. [Entity Framework] Insert avec clé étrangère
    Par Yoshio dans le forum Framework .NET
    Réponses: 8
    Dernier message: 27/03/2009, 17h33
  5. [MySQL] Insertion avec une clé étrangère
    Par sibile dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 16/08/2008, 23h28

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