Votre guide dans les plaines du far-web

Formation développeur web


« Donne un poisson à un homme, tu le nourris pour un jour. Apprends-lui à pêcher, tu le nourris pour toujours. » Lao Tseu

Pré-requis

Mis à jour le

Voici ce qu'il faut maîtriser un minimum pour bien commencer ce cours :

  • les bases de PHP
  • super globales PHP
  • les bases de données
  • SQL
Important

PDO étant une classe, vous êtes censé être au minimum "initié" à la POO. En revanche, on peut découvrir PDO sans forcément avoir vu…

~~ Fin de l'extrait ~~

Présentation

Mis à jour le

Depuis PHP5, PDO (pour PHP Data Object) est devenu la méthode de travail standardisée de PHP pour travailler avec les bases de données. Auparavant, PHP offrait simplement des fonctions natives permettant de travailler facilement avec MySQL (tel que mysql_query()), ou bien quelques autres SGBDR. Bien que fonctionnelles et pratiques, ces…

~~ Fin de l'extrait ~~

Les trois classes de PDO

Mis à jour le

PDO est organisé autour de trois classes qui remplissent chacun un rôle bien distinct :

  1. la classe PDO : c'est la classe qui permet la connexion avec le système de base de données (gestion des drivers, authentification, etc...)
  2. la classe PDOStatement : c'est la classe qui va vous…
~~ Fin de l'extrait ~~

Se connecter à une base de données

Mis à jour le

Lorsque vous travaillez avec une base de données, vous utilisez un logiciel "extérieur" à PHP (le serveur de base de données). Il va donc falloir que PHP se connecte au serveur de base de données pour pouvoir échanger des informations avec celui-ci. PDO contient tous les éléments nécessaires à cela,…

~~ Fin de l'extrait ~~

Préparer une requête

Mis à jour le

Maintenant que nous sommes connectés à notre base de données via notre objet PDO, on va enfin pouvoir lancer tout type de requêtes SQL. PDO offre un ensemble de méthodes permettant d'envoyer une requête SQL à votre SGBDR. Elles ont toutes une utilité et un fonctionnement différent, mais elles vont…

~~ Fin de l'extrait ~~

Exécuter une requête

Mis à jour le

Comme nous venons de le voir, on utilise la méthode execute() pour exécuter une requête préparée. Il y a deux autres méthodes standard qui peuvent exécuter une requête SQL "non-préparée", ce sont les méthodes query() et exec() :

  • query() vous permet d'exécuter un
~~ Fin de l'extrait ~~

Exploiter les résultats d'une requête

Mis à jour le

Lorsqu'une requête est exécutée via PDO, PHP envoi la chaîne de caractère au SGBDR. Le SGBDR la traite, il va lire ou modifier les données contenues dans la base de données, puis va renvoyer une réponse à PHP. 

(image visible sur la plateforme de formation)


~~ Fin de l'extrait ~~

Débugger avec PDO

Mis à jour le

PDO offre des méthodes permettant de débugger facilement une requête qui aurait rencontrée un problème. Si par exemple vous avez fait une erreur de syntaxe dans votre requête, il sera impossible de l'exécuter dans votre SGBDR, et celui-ci renverra une erreur (avec un code erreur) vous permettant de cibler facilement…

~~ Fin de l'extrait ~~

Exercices

Mis à jour le

Voici quelques exercices pour s'entrainer avec PDO. Ils vont du plus simple au plus compliqué :

  1. annuaire : travail avec une seule table déjà remplie
  2. blogging : travail sur plusieurs tables déjà remplies
  3. système de votation : à vous de concevoir la base de donnée et de l'exploiter
~~ Fin de l'extrait ~~

Système de transaction : back to the future !

Mis à jour le

(image visible sur la plateforme de formation)

La gestion des transactions est un concept un peu plus avancé de PDO et des SGBDR. Pour faire simple, cela permet de simuler l'exécution d'un ensemble de requêtes, et de les exécuter seulement si tout s'est passé comme prévu.

~~ Fin de l'extrait ~~