· 10 years ago · Jun 21, 2016, 11:57 AM
1<?php
2
3 $host='localhost';
4 $dbname='test';
5 $username='root';
6 $password='';
7
8 $db = new PDO('mysql:host='.$host.';dbname='.$dbname,$username,$password);
9 $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
10
11 function edit($db,$sql,$data = null)
12 {
13 $req = $db->prepare($sql);
14 $req->execute($data);
15 $req->closeCursor();
16 }
17
18 function read($db,$sql,$data = null)
19 {
20 $req = $db->prepare($sql);
21 $req->execute($data);
22 $data = $req->fetchAll(PDO::FETCH_ASSOC);
23 $req->closeCursor();
24 return $data;
25 }
26
27
28 $sql = "CREATE TABLE IF NOT EXISTS `jeux_video` (
29 `ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
30 `nom` varchar(255) NOT NULL,
31 `possesseur` varchar(255) NOT NULL,
32 `console` varchar(255) NOT NULL,
33 `prix` double NOT NULL DEFAULT '0',
34 `nbre_joueurs_max` int(11) NOT NULL DEFAULT '0',
35 `commentaires` text NOT NULL,
36 KEY `ID` (`ID`)
37 )";
38
39 edit($db,$sql);
40
41 $sql = 'select * from jeux_video';
42 $games = read($db,$sql);
43
44 if(empty($games)){
45
46 for ($i=0; $i < 1000; $i++) {
47
48 $sql = 'INSERT INTO jeux_video
49 (nom,possesseur,console)
50 VALUES (:nom,:possesseur,:console)';
51 $data_ex = array(
52 ':nom' => 'jeux '.$i,
53 ':possesseur' => 'possesseur '.$i,
54 ':console' => 'console'.$i
55 );
56
57 edit($db,$sql,$data_ex);
58
59 }
60 }
61
62
63 /* -------------- Methode 1 Prepare --------------------*/
64
65 microtime(true);
66 $t0_methode1 = microtime();
67 $sql = 'select * from jeux_video';
68 $results = read($db,$sql);
69
70 foreach ($results as $result) {
71 echo $result['nom'].'-';
72 echo $result['possesseur'].'-';
73 echo $result['console'].'|>';
74 }
75
76 $t1_methode1 = microtime();
77
78 $temps_methode_1 = $t1_methode1 - $t0_methode1;
79
80 $temps_methode_1 = number_format($temps_methode_1, 6);
81
82 echo '<h2> Temps 1ere methode : '.$temps_methode_1.'</h2>';
83
84
85
86 /* --------------- Methode 2 Query -------------------------*/
87
88
89 microtime(true);
90 $t0_methode2 = microtime();
91 $sql = 'select * from jeux_video';
92
93 $results = $db->query($sql)->fetchAll(PDO::FETCH_ASSOC);
94
95 foreach ($results as $result) {
96 echo $result['nom'].'-';
97 echo $result['possesseur'].'-';
98 echo $result['console'].'|>';
99 }
100
101 $t1_methode2 = microtime();
102
103 $temps_methode_2 = $t1_methode2 - $t0_methode2;
104
105 $temps_methode_2 = number_format($temps_methode_2, 6);
106
107 echo '<h2> Temps 2eme methode : '.$temps_methode_2.'</h2>';
108
109
110
111
112?>