Jean-Marie Renouard 
LightPath 2014©
Le logo PHP est du domaine public 
http://commons.wikimedia.org/wiki/File:PHP-logo.svg 
Ce document est licencié sous l...
Mysql: API de base 
Exécution de requête 
PDO: Les bases 
PDO: récupération des données 
Pattern: CRUD et PDO 
LightP...
LightPath 2014© - http://www.jmrenouard.fr 
4
La connexion 
La déconnexion 
L’exécution d’un requête 
La récupération d’un résultat 
LightPath 2014© - http://www.jm...
LightPath 2014© - http://www.jmrenouard.fr 
6
Mysql_connect 
◦connexion physique à la base 
Paramètres de mysql_connect 
◦Nom de la machine 
◦Utilisateur 
◦Mot de pas...
mysql_close 
déconnexion physique à la base 
libérer les ressources des requêtes. 
mysql_free_result 
LightPath 2014© ...
mysql_query 
$result = mysql_query(« insert into utilisateur values( ‘jm’, ‘Renouard’) »); if (!$result) { die('Requête ...
mysql_fetch_rows : 
◦ligne en tableau à index 
mysql_fetch_assoc: 
◦ligne à tableau à clé 
◦Chaque clé est une colonne 
...
while ($row = mysql_fetch_row($result)) { echo $row[0]; echo $row[1]; echo $row[2]; } 
LightPath 2014© - http://www.jmren...
while ($row = mysql_fetch_assoc($result)) { echo $row["userid"]; echo $row["fullname"]; echo $row["userstatus"]; } 
Light...
$result = mysql_query("select * from mytable"); while ($row = mysql_fetch_object($result)) { echo $row->user_id; echo $ro...
LightPath 2014© - http://www.jmrenouard.fr 
14
Ouverture de connexion 
try { 
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass); 
... 
LightPath 2014© - ...
Fermeture de connexion 
Unset($dbh); 
La connexion est supprimée à la fin de vie de l’objet PDO 
LightPath 2014© - http...
try { 
foreach ($dbh->query('SELECT * from CLIENT') as $row) { 
print_r($row); 
} 
} catch (PDOException $e) { 
print "Err...
try { 
$dbh->beginTransaction(); 
$dbh->exec("insert into staff (id, first) values (23, 'Joe')"); 
$dbh->exec("insert into...
LightPath 2014© - http://www.jmrenouard.fr 
19
Tableau à index 
◦Le résultat est affecté dans un tableau à index 
Tableau à clé/valeur 
◦Le résultat est affecté dans u...
La méthode de sélection 
◦$pdo->setFetchMode(); 
Le paramètre 
◦PDO::FETCH_NUM 
◦PDO::FETCH_ASSOC 
◦PDO:: FETCH_CLASS 
◦...
$obj = new Utilisateur(); $pdo = new PDO (…); $stmt= $pdo->query(‘select * from utilisateur’, 
PDO::FETCH_CLASS, 
‘Utilisa...
$obj = new Utilisateur(); $pdo = new PDO (…); $util=new Utilisateur(); 
$stmt= $pdo->query(‘select * from utilisateur limi...
LightPath 2014© - http://www.jmrenouard.fr 
24
Classe utilitaire permettant les 4 fonctions essentiels d’un objet en BD: 
◦C: Create 
◦R: read 
◦U: Update 
◦D: Delete 
...
create() : création un objet utilisateur 
save($util): sauvegarde de l’objet $util 
findBy($attribut, $valeur): recherc...
LightPath: 
◦Société de conseil et d’ingénierie 
◦Formations, Conseil, Audit et mise en oeuvre 
◦jmrenouard@lightpath.fr ...
Prochain SlideShare
Chargement dans…5
×

Client base de données en PHP5

712 vues

Publié le

Présentation des clients base de données en PHP5

Publié dans : Ingénierie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
712
Sur SlideShare
0
Issues des intégrations
0
Intégrations
147
Actions
Partages
0
Téléchargements
36
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Client base de données en PHP5

  1. 1. Jean-Marie Renouard LightPath 2014©
  2. 2. Le logo PHP est du domaine public http://commons.wikimedia.org/wiki/File:PHP-logo.svg Ce document est licencié sous licence ◦Attribution-NonCommercial-ShareAlike ◦CC BY-NC-SA Plus de détails: http://creativecommons.org/licenses/by-nc-sa/3.0/fr/ LightPath 2014© - http://www.jmrenouard.fr 2
  3. 3. Mysql: API de base Exécution de requête PDO: Les bases PDO: récupération des données Pattern: CRUD et PDO LightPath 2014© - http://www.jmrenouard.fr 3
  4. 4. LightPath 2014© - http://www.jmrenouard.fr 4
  5. 5. La connexion La déconnexion L’exécution d’un requête La récupération d’un résultat LightPath 2014© - http://www.jmrenouard.fr 5
  6. 6. LightPath 2014© - http://www.jmrenouard.fr 6
  7. 7. Mysql_connect ◦connexion physique à la base Paramètres de mysql_connect ◦Nom de la machine ◦Utilisateur ◦Mot de passe ◦Lien à la base Mysql_select_db: sélection de la base ◦Nom de la base ◦Utilisation de la base courante ◦Lien à la base LightPath 2014© - http://www.jmrenouard.fr 7
  8. 8. mysql_close déconnexion physique à la base libérer les ressources des requêtes. mysql_free_result LightPath 2014© - http://www.jmrenouard.fr 8
  9. 9. mysql_query $result = mysql_query(« insert into utilisateur values( ‘jm’, ‘Renouard’) »); if (!$result) { die('Requête invalide : ' . mysql_error()); } LightPath 2014© - http://www.jmrenouard.fr 9
  10. 10. mysql_fetch_rows : ◦ligne en tableau à index mysql_fetch_assoc: ◦ligne à tableau à clé ◦Chaque clé est une colonne mysql_fetch_object ◦Ligne est un objet ◦Chaque colonne est un attribut de l’objet LightPath 2014© - http://www.jmrenouard.fr 10
  11. 11. while ($row = mysql_fetch_row($result)) { echo $row[0]; echo $row[1]; echo $row[2]; } LightPath 2014© - http://www.jmrenouard.fr 11
  12. 12. while ($row = mysql_fetch_assoc($result)) { echo $row["userid"]; echo $row["fullname"]; echo $row["userstatus"]; } LightPath 2014© - http://www.jmrenouard.fr 12
  13. 13. $result = mysql_query("select * from mytable"); while ($row = mysql_fetch_object($result)) { echo $row->user_id; echo $row->fullname; } LightPath 2014© - http://www.jmrenouard.fr 13
  14. 14. LightPath 2014© - http://www.jmrenouard.fr 14
  15. 15. Ouverture de connexion try { $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass); ... LightPath 2014© - http://www.jmrenouard.fr 15
  16. 16. Fermeture de connexion Unset($dbh); La connexion est supprimée à la fin de vie de l’objet PDO LightPath 2014© - http://www.jmrenouard.fr 16
  17. 17. try { foreach ($dbh->query('SELECT * from CLIENT') as $row) { print_r($row); } } catch (PDOException $e) { print "Erreur ! : " . $e->getMessage() . "<br/>"; $dbh = null; die(); } LightPath 2014© - http://www.jmrenouard.fr 17
  18. 18. try { $dbh->beginTransaction(); $dbh->exec("insert into staff (id, first) values (23, 'Joe')"); $dbh->exec("insert into salarychange (id, amount, changedate) values (23, 50000, NOW())"); $dbh->commit(); } catch (Exception $e) { echo $e->getMessage(); } LightPath 2014© - http://www.jmrenouard.fr 18
  19. 19. LightPath 2014© - http://www.jmrenouard.fr 19
  20. 20. Tableau à index ◦Le résultat est affecté dans un tableau à index Tableau à clé/valeur ◦Le résultat est affecté dans un tableau à clé ◦Chaque clé est le nom d’une colonne Objet ◦Le résultat est affecté dans un objet existant ◦Le nom de la colonne et de l’attribut doit collé Classe ◦Le résultat est affecté dans un objet de type stdClass LightPath 2014© - http://www.jmrenouard.fr 20
  21. 21. La méthode de sélection ◦$pdo->setFetchMode(); Le paramètre ◦PDO::FETCH_NUM ◦PDO::FETCH_ASSOC ◦PDO:: FETCH_CLASS ◦PDO::FETCH_INTO LightPath 2014© - http://www.jmrenouard.fr 21
  22. 22. $obj = new Utilisateur(); $pdo = new PDO (…); $stmt= $pdo->query(‘select * from utilisateur’, PDO::FETCH_CLASS, ‘Utilisateur‘ ); $utils=array(); while($util = $stmt -> fetch()) { array_push($utils, $util); } $stmt -> closeCursor(); var_dump($utils); LightPath 2014© - http://www.jmrenouard.fr 22
  23. 23. $obj = new Utilisateur(); $pdo = new PDO (…); $util=new Utilisateur(); $stmt= $pdo->query(‘select * from utilisateur limit 1’, PDO::FETCH_INTO, $util ); $stmt -> fetch(); $stmt -> closeCursor(); var_dump($util); LightPath 2014© - http://www.jmrenouard.fr 23
  24. 24. LightPath 2014© - http://www.jmrenouard.fr 24
  25. 25. Classe utilitaire permettant les 4 fonctions essentiels d’un objet en BD: ◦C: Create ◦R: read ◦U: Update ◦D: Delete Il s’agit d’un classe permettant d’interagir facilement avec la base de données. LightPath 2014© - http://www.jmrenouard.fr 25
  26. 26. create() : création un objet utilisateur save($util): sauvegarde de l’objet $util findBy($attribut, $valeur): recherche de tous les objet utilisateur ayant l’attribut $attribut valant $valeur. findOne ($attribut, $valeur): idem pour le premier seulement LightPath 2014© - http://www.jmrenouard.fr 26
  27. 27. LightPath: ◦Société de conseil et d’ingénierie ◦Formations, Conseil, Audit et mise en oeuvre ◦jmrenouard@lightpath.fr Jean-Marie RENOUARD ◦jmrenouard@gmail.com ◦Twitter: @jmrenouard ◦http://www.jmrenouard.fr LightPath 2014© - http://www.jmrenouard.fr 27

×