Cours PHP mysqli :
Connexion à une base de données.
Réponse AJAX

Connexion à une base de données MySQL

Pour que votre site Web puisse exécuter une requête SQL, il faut tout d'abord que PHP soit connecté à une base de données.

Les librairies les plus utilisées sont mysqli et PDO. Ici nous allons voir la librairie mysqli.

Voici le script PHP pour se connecter à une base de données grâce à mysqli_connect. N'oubliez pas de remplacer les valeurs par les vôtres (ou celles de votre hébergeur) :

Connexion avec gestion d'erreur

Lors de la connexion il peut y avoir de multiples sources d'erreurs :

Voici le code amélioré pour afficher l'erreur générée :

Où placer le code PHP pour la connexion ?

En général, dans un site Web, la quasi-totalité des pages ont besoin de la connexion à la base de données.

Toutefois, on souhaite écrire une seule fois cette connexion. C'est une habitude en programmation qui permet de modifier rapidement et facilement le code lorsqu'un paramètre change, par exemple lorsque vous changez d'hébergeur.

L'emplacement idéal sera donc le fichier debut_page.php (ou équivalent), c'est à dire le fichier que vous appelez systématiquement au début de chaque page de votre site.

Connexion sur deux serveurs différents

La plupart des projets Web tournent sur deux plateformes : la plateforme de développement (en général votre ordinateur) et la plateforme en production (en général un hébergeur). C'est ainsi que vous fonctionnerez en BTS SIO.

Voici le code qui permet de se connecter automatiquement à l'une ou l'autre des plateformes :

Vous remarquez :

Voici le script ultime, plus propre car il affiche le mysqli_connect_error des deux connexions :

Exercices d'application

Dans votre projet PHP, où doit se situer la connexion au serveur de base de données ?

Votre réponse n°1

Écrivez ici le code de connexion à la base de données, avec VOS paramètres chez 1&1 (n'écrivez pas le mot de passe) (pas de mot de passe !!!). C'est utile car pour vos prochains projets PHP, vous n'aurez qu'à récupérer le code de connexion ici.

Votre réponse n°2

Effacez le mot de passe que vous avez mis dans la réponse précédente.

Quelle erreur obtenez-vous si l'adresse de l'hôte ($host) est erronée ?

Votre réponse n°3

Quelle erreur obtenez-vous si le nom d'utilisateur ($user) ou le mot de passe ($pwd) sont erronés ?

Votre réponse n°4

Quelle erreur obtenez-vous si le nom de la base de données ($bdd_name) est erroné ?

Votre réponse n°5