Rappel : si vous travaillez sur votre ordinateur personnel, vous devez avoir créer la base de données de test pour que les exemples puissent être utilisés.

L'extension mysqli permet à PHP de communiquer avec le serveur MySQL. Les fonctions sont écrites spécifiquement pour MySQL, garantissant adaptation et rapidité. Nous n'avons pas à tenir compte des différents systèmes sur lesquels peuvent être installées les applications, puisque l'API s'en charge à notre place.

Quelque soient le langage et la base de données utilisés, le traitement d'une page dynamique se fait toujours de la même façon :

4 phases de traitement

La connexion au serveur MySQL se fait très facilement avec la fonction mysqli_connect() à laquelle on va passer 4 paramètres :

La fonction renvoie une référence sur l'objet qui représente la connexion au serveur MySQL (de type mysqli) en cas de succès, ou sinon FALSE. Cette référence doit être gardée précieusement car il sera nécessaire de la passer en paramètre à certaines autres fonctions mysqli, en particulier à la fonction mysqli_query() qui permet d'envoyer des requêtes SQL au serveur.

L'exemple suivant effecture une connexion au serveur MySQL, sélectionne notre base de tests, récupère le nombre de livres dans la table livres et l'affiche.

Exemple : nombre de livres

La connexion avec le serveur de base de données est établie avec la fonction mysqli_connect() en lui transmettant les arguments 'localhost', 'tuto_user', 'tuto_pass' et 'php_tuto'.

Quand un script PHP envoie plusieurs requêtes au serveur MySQL, il ne doit se connecter au serveur MySQL qu'une seule fois. En effet la connexion au serveur MySQL est une opération relativement "couteuse" en terme d'utilisation des ressources système. Donc, il convient de respecter cette règle pour ne pas augmenter la charge du système et détériorer les temps de réponse de votre application.