-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbatch_insert.php
75 lines (57 loc) · 1.6 KB
/
batch_insert.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?php
/*
On veut insérer la liste complète des étudiants de la session 2 dans la table student.
On dispose de certaines informations dans le tableau se trouvant dans students_session2.php.
Cependant, des étudiants sont déjà renseignés dans la table student. Il ne faut donc ajouter que les étudiants n'y figurant pas.
Pour savoir si un étudiant est déjà dans la table, on se basera sur le champ "email".
D'ailleurs, pour plus de sécurité, on va ajouter un attribut d'unicité sur ce champ, dans la table student.
Copiez ces 2 fichiers dans un répertoire batch de votre projet Toto, puis éditez ce fichier pour effectuer les insertions en DB.
*/
require 'inc/db.php';
require 'students_session2.php';
// A vous de jouer ^^
$allNoMail = '
SELECT
*
FROM
student
WHERE
stu_email = :email
';
$pdoStatement = $pdo->prepare($allNoMail);
foreach ($studentsList as $key => $mail) {
$pdoStatement->bindValue(':email', $mail['email']);
$pdoStatement->execute();
}
if($pdoStatement === false){
$insAll =
'
INSERT INTO
student
(
stu_name,
stu_firstname ,
stu_birthdate ,
stu_email,
stu_sex,
stu_with_experience ,
stu_is_leader
)
VALUES(
:name,
:firstname,
:birthdate,
:email,
:sex,
:with_experience,
:is_leader
)
';
$pdoStatement = $pdo->prepare($insAll);
foreach ($studentsList as $key => $value) {
foreach ($value as $keyTwo => $valueTwo) {
$pdoStatement->bindValue(':'.$keyTwo, $valueTwo);
}
$pdoStatement->execute();
}
}