Enregistrer données dans 2 tables avec un seule ID

meryem -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour!
s'ils vous plaît j'ai besoin de l'aide !
j'ai 2 tables dans ma base de donnée avec la colonne id

je veux enregistrer des données sur ces 2 tables avec un même id

comment je peux faire?

Merci d'avance!
A voir également:

1 réponse

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour
Comme pour une seule table...avec des requêtes insert.
0
meryem
 
merci!
voila mes req
$sql ="INSERT INTO table1 (surname,firstname,sex) VALUES('$surname','$firstname','$sex')";
$sql1 ="INSERT INTO table2 (attribute) VALUES('$attribute')";

il s'enregistre mais avec un id different
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Par ce que ta colonbe if edt en auto invtement.
Il te faut un second champ dans ta deuxième table pout y stocker l'id généré par ta première requête.
Tu est en pdo ou mydqli pout tr connecter à ta bdd ?
Cherche la fonction last insert id
0
meryem
 
je suis sur mysqli il me faut une req while mais je sais pas comment faire
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Une requête "while" ça n'existe pas;

Pour commencer, dans ta table2 tu dois ajouter un champ id_table1
Puis si tu veux récupérer l' ID généré lors de l'insertion dans ta table 1 pour le mettre ensuite dans ta table 2 du dois le faire avec le code
Avec le style procédurale
 
$last_id = mysqli_insert_id($conn);

ou si tu es en style objet :
 
$last_id = $mysqli->insert_id;


Il te suffira alors d'utiliser cet id lors de l'insertion dans ta seconde table
$sql1 ="INSERT INTO table2 (id_table1,attribute) VALUES('$last_id', '$attribute')"; 
0