Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Comment connecter PHP à une base de données MySQL
#1
Comment connecter PHP à une base de données MySQL

Comment connecter PHP à une base de données MySQL

Création d'une base de données MySQL (facultatif)

Cette étape est nécessaire si vous n'avez pas de base de données MySQL.

Deux méthodes pour qu'un script PHP se connecte à MySQL

Il existe deux méthodes pour se connecter à une base de données MySQL en utilisant PHP : MySQLi et PDO.

MySQLi signifie MySQL amélioré. Il s'agit d'une extension exclusive à MySQL qui ajoute de nouvelles fonctionnalités à l'interface d'une base de données MySQL. MySQLi est à la fois procédural et orienté objet, avec le premier attribut hérité de la version précédente de MySQL.

MySQL original décompose une tâche en procédures linéaires et pas-à-pas, ce qui rend difficile la modification car vous devez modifier le code depuis le début. En revanche, MySQLi considère les données comme un ensemble d'objets interchangeables avec des fonctions, permettant aux utilisateurs d'ajouter ou de supprimer facilement des données.

PDO signifie PHP Data Object. Contrairement à MySQLi, PDO est uniquement orienté objet et prend en charge plusieurs types de bases de données utilisant PHP, tels que MySQL, MSSQL, Informix et PostgreSQL.

Important ! Les fonctions mysql_ d'origine sont obsolètes et ne doivent pas être utilisées car elles sont dangereuses et ne sont plus maintenues ou développées.

L'une des fonctionnalités les plus importantes qu'elles prennent en charge toutes les deux est la préparation des instructions, ce qui accélère le temps nécessaire à MySQL pour exécuter la même requête plusieurs fois. Cela est également utilisé pour prévenir les attaques par injection SQL lors de la modification de la base de données ou de l'insertion de données fournies par l'utilisateur dans une requête ou une instruction de base de données.

Quelle que soit la méthode utilisée, vous aurez besoin des informations correctes pour vous connecter à la base de données MySQL que vous avez créée. C'est là que les détails de la base de données MySQL que vous avez enregistrés précédemment sont utiles.

Vous avez également besoin du nom de serveur ou du nom d'hôte correct pour la configuration. Ellohost utilise "localhost" comme nom d'hôte de son serveur MySQL. En général, c'est le nom que vous devez utiliser si vous avez téléchargé votre script PHP sur le même serveur que la base de données.

En revanche, si vous vous connectez à une base de données à partir d'un emplacement distant (par exemple, votre ordinateur), vous devrez utiliser l'adresse IP du serveur MySQL. Pour plus de détails, contactez votre hébergeur afin qu'il puisse vous fournir les informations correctes à utiliser en tant que nom d'hôte.

Utiliser MySQLi pour connecter un script PHP à MySQL

Suivez ces étapes pour utiliser MySQLi pour connecter un script PHP à MySQL :

  1. Accédez à Gestionnaire de fichiers -> public_html.
  2. Créez un nouveau fichier en cliquant sur l'icône dans le menu latéral.
  3. Enregistrez le fichier sous le nom de databaseconnect.php. Vous pouvez remplacer le nom par ce que vous voulez, assurez-vous simplement qu'il utilise l'extension php.
  4. Double-cliquez pour ouvrir le fichier et copiez-collez les lignes de code suivantes dedans. Modifiez les quatre premières valeurs en dessous de
<?php $servername = "localhost"; $database = "u123456789_NomDeLaBaseDeDonnées"; $username = "u123456789_Utilisateur"; $password = "MonMotDePasseFort!"; // Créer la connexion $conn = mysqli_connect($servername, $username, $password, $database); // Vérifier la connexion if (!$conn) { less Copy code die("Échec de la connexion : " . mysqli_connect_error()); } echo "Connecté avec succès"; mysqli_close($conn); ?>

Explication du code MySQLi :

La principale méthode utilisée dans ce script est mysqli_connect(). Il s'agit d'une fonction interne de PHP permettant d'établir une nouvelle connexion à un serveur MySQL.

Au début de notre code, nous voyons quelques déclarations de variables et des valeurs qui leur sont attribuées. Habituellement, nous en avons besoin de quatre pour établir une connexion à une base de données correcte : $servername, $database, $username et $password. Dans le code, nous définissons nos détails de base de données comme valeurs pour ces variables, afin qu'elles puissent être transmises à la fonction.

Si la connexion échoue, la fonction die() est exécutée. Cela arrête essentiellement notre script et nous donne un message d'erreur de connexion que nous avons défini. Par défaut, l'erreur de connexion MySQL indiquera Échec de la connexion suivi d'un message d'erreur précis décrivant le problème.

En revanche, si la connexion MySQL réussit, le code affichera Connecté avec succès à la place.

La dernière partie du code est mysqli_close, qui fermera simplement la connexion à la base de données manuellement. Si ce n'est pas spécifié, les connexions MySQL se fermeront d'elles-mêmes une fois que le script se termine.

Utiliser PDO pour connecter un script PHP à MySQL

L'autre méthode utilisant un script PHP pour se connecter à MySQL consiste à utiliser PDO. C'est similaire à la méthode précédente, mais avec une légère variation :

  1. Dans le public_html, créez un fichier nommé pdoconfig.php et insérez le code suivant. Comme toujours, n'oubliez pas de remplacer les valeurs de substitution par les informations de votre base de données. Enregistrez-le une fois que vous avez terminé :
<?php $host = "localhost"; $dbname = "u123456789_NomDeLaBaseDeDonnées"; $username = "u123456789_Utilisateur"; $password = "MonMotDePasseFort!"; ?>
  1. Créez un autre fichier nommé databaseconnect.php dans le même répertoire, mais avec le code suivant. Si vous avez nommé le fichier précédent différemment, assurez-vous de modifier la valeur de require_once.
<?php require_once 'pdoconfig.php'; try { $conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password); echo "Connecté à $dbname sur $host avec succès."; } catch (PDOException $pe) { die("Impossible de se connecter à la base de données $dbname :" . $pe->getMessage()); } ?>

Explication du code PDO :

Une connexion de base de données PDO nécessite la création d'un nouvel objet PDO avec un nom de source de données (DSN), un nom d'utilisateur et un mot de passe.

Le DSN définit le type de base de données, le nom de la base de données et toute autre information liée à la base de données si nécessaire. Ce sont les variables et les valeurs que nous avons définies à l'intérieur du fichier dbconfig.php, référencées une fois par la ligne require_once dans databaseconnect.php.

Dans ce dernier, vous trouverez le bloc try...catch.... Cela signifie que le script essaiera de se connecter à MySQL en utilisant le code fourni, mais s'il y a un problème, le code dans la section catch s'exécutera. Vous pouvez utiliser le bloc catch pour afficher des messages d'erreur de connexion ou exécuter un code alternatif si le bloc try échoue.

Si la connexion réussit, il affichera le message "Connecté à $dbname sur $host avec succès.". Cependant, si la tentative échoue, le code catch affichera un simple message d'erreur et arrêtera le script.

Contrairement à l'utilisation de MySQLi, une fois que vous avez terminé d'utiliser un script PDO, vous n'avez pas besoin de fermer manuellement la connexion. Elle se ferme automatiquement lorsque l'objet PDO est détruit ou lorsque votre script se termine.

Vérification de la connectivité et résolution des erreurs courantes

Pour vérifier si la connexion est réussie, accédez à votre domaine de la manière suivante : votredomaine/databaseconnect.php. Si vous avez nommé le fichier PHP différemment, assurez-vous de le modifier en conséquence.

Vous verrez "Connecté avec succès" ou des variantes de ce message si tout fonctionne correctement.

Maintenant, si la connexion n'a pas réussi, vous verrez quelque chose de différent. Les messages d'erreur sont légèrement différents pour MySQLi et PDO.

Erreur de mot de passe incorrect :

Cette erreur se produit si nous changeons le mot de passe ou toute autre information d'identification dans le code PHP (mais sans le modifier dans la base de données réelle).

Si vous voyez un message "Accès refusé" ou "Impossible de se connecter à la base de données" accompagné de "(using password: YES)" à la fin, la première chose à faire est de vérifier les détails de la base de données. Il peut y avoir une faute de frappe ou une partie manquante.

Impossible de se connecter au serveur MySQL :

Si vous obtenez "Impossible de se connecter au serveur MySQL sur 'serveur' (110)" avec MySQLi, cela signifie que le script n'a pas reçu de réponse d'un serveur. Cela se produit lorsque nous définissons "serveur" au lieu de "localhost" en tant que $servername, et ce nom n'est pas reconnu.

Le message d'erreur dans PDO ressemblera à "Échec de la connexion : SQLSTATE[Hy000] [2002]" suivi de plus de détails indiquant que l'hôte MySQL n'a pas été trouvé. Mais la manière de résoudre le problème est la même que celle décrite ci-dessus.

Et bien sûr, il est toujours important de se rappeler une règle d'or pour résoudre une erreur : vérifier le journal d'erreurs de votre site.

Le journal peut être trouvé dans le même dossier où le script s'exécute. Par exemple, si nous exécutons un script dans public_html, nous trouverons error_log dans le même dossier.

Conclusion

Dans ce tutoriel, nous avons appris les connaissances de base sur la connexion d'un script PHP à une base de données MySQL en utilisant MySQLi et PHP Data Objects (PDO).

Nous espérons que ce guide vous a été utile si vous débutez dans le développement web. Après tout, se connecter à une base de données est la première étape la plus importante lorsqu'on travaille avec des scripts et des configurations plus avancés.

Dites-nous dans les commentaires ci-dessous si vous rencontrez des problèmes en suivant ce guide.

Reply


Messages In This Thread
Comment connecter PHP à une base de données MySQL - by aaron - 07-17-2023, 06:09 AM

Forum Jump:


Users browsing this thread: 1 Guest(s)