Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

Bonjour, je fais une inscription en php, et j'ai deux tables (membre et login) et quand un utilisateur s'inscrit dans le formulaire, il va automatiquement remplir les deux tables. Mais je n'arrive pas à faire la jointure entre les deux tables pour associé l'id_login de la table membre à l'id du membre qui est sur la table login.

table membre :

id

prenom

nom

id_login

table login

pseudo

mdp

email

Voilà mon script, il m'insert bien dans la bdd mais login_id de la table membre j'ai le chiffre 0 à chaque fois, on dirait qu'il fait pas la jointure.

                $req2 = $bdd->prepare('INSERT INTO login (pseudo, mdp, email)
                    VALUES (:pseudo, :mdp, :email)');
                    $req2->execute(array('pseudo' => $pseudo, 'mdp' => $mdp, 'email' => $email));

                    $reqselect = $bdd->prepare('SELECT id FROM login, membre WHERE id = membre.id_login');
                    $reqselect->execute();
                    $data = $reqselect->fetch();

                    $req = $bdd->prepare('INSERT INTO membre (prenom, nom, affiche, id_login)
                    VALUES (:prenom, :nom, :affiche, :idlogin)');
                    $req->execute(array('prenom' => $prenom, 'nom' => $nom, 'affiche' => $affiche, 'idlogin' => $data['id']));

Ce que je veux

J'aimerai obtenir dans ma table membre (id_login) l'id de l'utilisateur de la table login.

Ce que j'obtiens

Il me retourne rien dans la bdd.

1 réponse


Grafikart
Réponse acceptée

Utilise lastinsertid pour obtenir l'ID du dernier enregistrement effectué http://php.net/manual/fr/pdo.lastinsertid.php