PHP est particulièrement adapté à l’utilisation de la base de données MySQL. Avec ce tutoriel nous allons vous donner quelques bonnes bases pour faire interagir MySQL et PHP.
PHP (PHP Hypertext Preprocessor) est à la fois un langage de programmation et une plate-forme sur laquelle on peut poser des frameworks (Zend Framework, Symfony, Laravel…) ou des briques logicielles (Logiciel de gestion de contenu, Gestion Electronique de Documents, CRM…).
Lorsqu’il s’agit de stocker des données de façon durable on peut envisager d’utiliser des fichiers car ils permettent d’enregistrer de gros volumes de données. Par contre dès que l’on souhaite manipuler ces données, nous sommes vite limités. Une autre approche, probablement la plus souvent employée, est de passer par une base de données : un logiciel conçu spécifiquement pour le stockage de données ; et, bien sûr, pour faciliter leur récupération.
Il existe deux approches pour utiliser une base de données avec PHP :
Pour installer les extensions correspondant à PDO il vous faut activer le noyau PDO ainsi que le pilote PDO spécifique à votre base de données. Pour installer PDO avec MySQL il vous faut également MySQL (ou MariaDB) d’installé. Généralement avec des outils comme easyPHP ou WampServer c’est déjà le cas !
Avant de travailler avec un serveur de gestion de bases de données, il faut ouvrir une connexion vers celui-ci. Cette connexion sera le canal par lequel PHP et le serveur communiqueront l’un avec l’autre. L’ouverture de la connexion se fait en passant le DSN, le nom d’utilisateur et son mot de passe au constructeur de la classe PDO :
$dsn = 'mysql:dbname=madb01;host=localhost;charset=utf8';
$username = 'monuser';
$password = 'monpassword';
$db = new PDO($dsn, $username, $password);
Une fois votre connexion ouverte et configurée, vous allez pouvoir utiliser pleinement votre base de données pour lire, modifier, ou supprimer des données. Pour cela, il n’existe pas de fonctions de lecture/écriture comme pour la gestion des fichiers : on utilise directement le langage SQL, dont les principes généraux sont rappelés un peu plus loin.
Pour envoyer une requête au serveur, on peut utiliser deux méthodes de l’objet PDO : query() et exec().
$sql = "select * from livres";
$stmt = $db->query($sql);
while (($livre = $stmt->fetch())) {
printf("%d - %s\n", $livre['id'], $livre['titre']);
}
Pour les requêtes d’insertion et de modification, on utilise la méthode exec() de l’objet de connexion, instance de la classe PDO.
$sql = <<<'SQL'
insert into livres (titre, annee)
values ('PHP 7 avancé', 2016)
SQL;
$nbLignes = $db->exec($sql);
printf("Nombre de lignes écritres : %d\n", $nbLignes);
Cet article est une brève introduction à l’utilisation de MySQL avec PHP que nous voyons pendant la formation PHP Maîtrise.
Les formations d’Openska dédiées à PHP sont nombreuses :
Openska est une société de conseil et de formation spécialisée dans le Web, la data et l’Opensource. Notre expertise PHP est très développée (livres PHP 7 avancé, performances LAMP…) et nous avons décidé d’utiliser cette expérience pour vous faire partager des bonnes pratiques.
Formation pour prendre en main Symfony