Bonjour,
j'aimerai savoir comment je dois m'y prendre pour réaliser mes requêtes SQL.
J'ai 2 tables : tableA et tableB
TableA
id_tableA
nom
prenom
TableB
id_tableB
id_tableA
ville
Il existe une jointure entre la TableA et la TableB via id_tableA
J'aimerai savoir comment faire un INSERT INTO dans la TableA (données issues d'un Form_Register) PUIS faire un INSERT INTO dans la TableB (données toujours issues du même Form_Register) + id_tableA
INSERT INTO tableA ("", nom, prenom) VALUES ("", 'PAUL', 'PIERRE') THEN INSERT INTO tableB ("", "id_tableA", "ville") VALUES ("", (.......), "Paris");
je ne sais pas comment faire
J'espère avoir été clair.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 // CREATION DU CONTACT private function create(Contact &$contact) { $stmt = $this->pdo->prepare('INSERT INTO .......... VALUES..... $stmt->bindValue(':nom', $contact->getNom(), PDO::PARAM_STR); .... //execute la requete préparée et on recupére l'objet pour pouvoir le tester $executeIsOK = $stmt->execute(); // on teste le retour de la requete conformément à la documentation ci-dessus : true = si tout s'est bien passé ou false s'il y a une erreure if(!$executeIsOK){ return false; } else { $id = $this->pdo->lastInsertId(); // on récupère l'identifiant de l'objet créé $contact = $this->read($id); // affectation de l'id à l'objet créé //var_dump("create $id = " .$id); return $id; } }
- peut-on faire une seule requête pour insertion dans 2 tables en récupérant et affectant l'id du contact dans la table 2
ou faut-il faire 2 requête ?
Merci pour votre aide
Partager