Vous êtes sur la page 1sur 3

Se connecter à MySQL avec PDO et Faire une requête

Comment se connecte-t-on à la base de données en PHP ?


En effet, PHP propose plusieurs moyens de se connecter à une base de données MySQL.

L'extension mysql_ : ce sont des fonctions qui permettent d'accéder à une base de données
MySQL et donc de communiquer avec MySQL. Leur nomcommence toujours par mysql_.
Toutefois, ces fonctions sont vieilles et on recommande de ne plus les utiliser aujourd'hui.

L'extension mysqli_ : ce sont des fonctions améliorées d'accès à MySQL. Elles proposent
plus de fonctionnalités et sont plus à jour.

L'extension PDO : c'est un outil complet qui permet d'accéder à n'importe quel type de base
de données. On peut donc l'utiliser pour se connecter aussi bien à MySQL que PostgreSQL ou
Oracle.

Pour Se connecter à MySQL avec PDO, nous allons avoir besoin de quatre renseignements :

Le nom de l'hôte : c'est l'adresse de l'ordinateur où MySQL est installé (comme une adresse
IP). Le plus souvent, MySQL est installé sur le même ordinateur que PHP : dans ce cas,
mettez la valeur localhost (cela signifie « sur le même ordinateur »). Néanmoins, il est
possible que votre hébergeur web vous indique une autre valeur à renseigner (qui
ressemblerait à ceci : sql.hebergeur.com). Dans ce cas, il faudra modifier cette valeur lorsque
vous enverrez votre site sur le Web ;

La base : c'est le nomde la base de données à laquelle vous voulez vous connecter. Dans
notre cas, la base s'appelle test. Nous l'avons créée avec phpMyAdmin dans le chapitre
précédent ;

Le login : il permet de vous identifier. Renseignez-vous auprès de votre hébergeur pour le


connaître. Le plus souvent (chez un hébergeur gratuit), c'est le même login que vous utilisez
pour le FTP ;

Le mot de passe : il y a des chances pour que le mot de passe soit le même que celui que
vous utilisez pour accéder au FTP. Renseignez-vous auprès de votre hébergeur

Pour l'instant, nous faisons des tests sur notre ordinateur à la maison. On dit qu'on travaille «
en local ». Par conséquent, le nom de l'hôte sera localhost. Quant au login et au mot de passe,
par défaut le login est root et il n'y a pas de mot de passe. Voici donc comment on doit faire
pour se connecter à MySQL via PDO sur la base test :
Se connecter à MySQL avec PDO et Faire une requête

La ligne de code qu'on vient de voir crée ce qu'on appelle un objet $bdd. Ce n'est pas vraiment
une variable (même si ça y ressemble fortement) : c'est un objet qui représente la connexion à
la base de données. On crée la connexion en indiquant dans l'ordre dans les paramètres : le
nomd'hôte (localhost) ; la base de données (test) ; le login (root) ; le mot de passe (ici il n'y a
pas de mot de passe, j'ai donc mis une chaîne vide). Lorsque votre site sera en ligne, vous
aurez sûrement un nomd'hôte différent ainsi qu'un login et un mot de passe comme ceci :

Faire une requête

Maintenant arrive le grand moment que vous attendiez tous : on va parler à MySQL. Nous
allons donc commencer à parler en SQL ! Pour cela, on va faire ce qu'on appelle une requête.
On va demander poliment à MySQL de nous dire tout ce que contient la table jeux_video.
Pour récupérer des informations de la base de données, nous avons besoin de notre objet
représentant la connexion à la base. Vous vous souvenez, ils'agit de $bdd. Nous allons
effectuer la requête comme ceci : Code :

On demande ainsi à effectuer une requête sur la base de données.

Résumé

Pour dialoguer avec MySQL depuis PHP, on fait appel à l'extension PDO de PHP. Avant de dialoguer
avec MySQL, il faut s'y connecter. On a besoin de l'adresse IP de la machine où se trouve MySQL, du
nomde la base de données ainsi que d'un login et d'un mot de passe.
Se connecter à MySQL avec PDO et Faire une requête

Les requêtes SQL commençant par SELECT permettent de récupérer des informations dans
une base de données.

Il faut faire une boucle en PHP pour récupérer ligne par ligne les données renvoyées par
MySQL.

Le langage SQL propose de nombreuxoutils pour préciser nos requêtes, à l'aide notamment
des mots-clés WHERE (filtre),ORDER BY (tri) et LIMIT (limitation du nombre de résultats).

Pour construire une requête en fonction de la valeur d'une variable, on passe par un système
de requête préparée qui permet d'éviter les dangereuses failles d'injection SQL.

On utilise différents mots-clés en fonction du type de modification que l'on souhaite effectuer
: INSERT INTO : ajout d'une entrée ; UPDATE : modification d'une ou plusieurs entrées

DELETE :suppression d'une ou plusieurs entrées. Comme pour la sélection de données, on


utilise les requêtes préparées pour personnaliser nos requêtes en fonction de variables.

Lorsqu'on utilise UPDATE ou DELETE, il faut penser à filtrer avec un WHERE sinon toute
la table sera affectée par l'opération !

Vous aimerez peut-être aussi