Accueil Technologie
Construire une base de données MySQL avec PHP

Construire une base de données MySQL avec PHP

Une base de données MySQL est un élément fondamental de nombreux sites web. Bien que vous puissiez facilement créer et modifier ces bases de données à partir du backend de votre site web, il est extrêmement puissant de pouvoir le faire avec le code du site web. Mais comment faire ?


PHP est un puissant langage de script côté serveur qui exécute toutes les opérations de base de données MySQL dont vous avez besoin. Découvrez comment l’utiliser pour construire, éditer et gérer une base de données depuis votre site web.

De quoi avez-vous besoin pour travailler avec une base de données MySQL en PHP ?

Avant de commencer à écrire votre script PHP, vous avez besoin d’un environnement pour l’exécuter. EasyPHP fournit un serveur web local, un accès à phpMyAdmin, et des outils de gestion de répertoire – tout ce dont vous avez besoin pour commencer à tester votre propre code PHP.

Vous pouvez également créer un site Web PHP pour ce projet, à condition que phpMyAdmin y soit installé.

Rendez-vous sur le site web d’EasyPHP et téléchargez le programme d’installation Devserver. Une fois téléchargé, exécutez le fichier exécutable et suivez les étapes d’installation. Vous pouvez lancer EasyPHP à ce stade, mais laissez-lui une minute ou deux pour terminer l’installation.

page de téléchargement d'easyphp

Vous verrez l’icône d’EasyPHP dans la barre des tâches ; cliquez dessus avec le bouton droit de la souris, passez la souris sur Serveurset sélectionnez Démarrer/Redémarrer tous les serveurs pour vous assurer que votre serveur web local et votre base de données sont tous deux en cours d’exécution. Cliquez à nouveau avec le bouton droit de la souris sur l’icône de la barre des tâches et sélectionnez Ouvrir le tableau de bord.

démarrer des serveurs php faciles

Ajouter le répertoire de votre projet à EasyPHP

Une fois l’installation d’EasyPHP terminée, il est temps de créer un fichier sur votre ordinateur pour vos fichiers PHP. Vous pouvez ajouter ce fichier dans le répertoire de votre choix, mais vous devez vous souvenir de son emplacement pour l’ajouter à EasyPHP.

Allez sur le site Annuaires et cliquez sur Ajouter un répertoire. Vous accéderez à un nouvel écran dans lequel vous pourrez ajouter un Nom du répertoire de travail (il peut s’agir de n’importe quoi) et un Chemin d’accès au répertoire de travail. Le chemin est l’emplacement du fichier sur votre ordinateur. Dans notre cas, il s’agit de C:\EasyPHP-MUO.

easyphp ajoute un nouveau répertoire de travail

Vous pouvez maintenant créer des fichiers PHP dans le répertoire de travail de votre machine et y accéder via le tableau de bord EasyPHP sous l’onglet Répertoires de travail section.

Créer une base de données avec MySQL Connect

Pour l’instant, vous n’avez pas encore de base de données avec laquelle travailler. Ajouter une nouvelle base de données avec PHP est facile, mais vous devez vous connecter au serveur web local avant de commencer. Commencez par ajouter quelques variables pour le nom du serveur, le nom d’utilisateur du serveur et le mot de passe du serveur.

 $servername = "localhost";
$username = "root";
$password = "";

La variable nom du serveur correspond à l’adresse IP du serveur, mais vous pouvez utiliser localhost avec EasyPHP ou toute autre base de données MySQL locale. Le nom d’utilisateur par défaut pour EasyPHP est root et aucun mot de passe n’est défini. Les déploiements réels devraient toujours avoir un mot de passe. Après cela, il est temps d’utiliser PHP pour se connecter à la base de données en utilisant ces variables.

 $conn = new mysqli($servername, $username, $password);

if ($conn->connect_error) {
  die("Connection error: " . $conn->connect_error);
}

Créez une instance mysqli, en lui passant le nom de serveur, le nom d’utilisateur et le mot de passe. Cela permet à votre script de se connecter à la base de données de votre serveur web. Vérifiez qu’il n’y a pas d’erreur de connexion.

Il est maintenant temps d’exécuter une requête SQL. Le fonctionnement est très similaire à celui d’un outil comme phpMyAdmin, mais vous utilisez PHP pour envoyer la requête. Commencez par une requête CREATE DATABASE pour créer une base de données.

 $sql = "CREATE DATABASE MUOdatabase";

if ($conn->query($sql) === TRUE) {
  echo "Database created.";
} else {
  echo "Database creation error: " . $conn->error;
}

$conn->close();

La première ligne de code est la requête elle-même. La requête CREATE DATABASE nécessite juste un nom, comme « MUOdatabase ». Vérifiez le résultat de votre requête et assurez-vous que la base de données a bien été créée. La dernière ligne de code ferme la connexion à la base de données pour sécuriser votre base de données MySQL.

Ajoutez ce code à un fichier script PHP dans le répertoire de travail que vous avez créé précédemment, puis lancez le fichier depuis le tableau de bord EasyPHP pour exécuter le code que vous avez écrit. Vous verrez une page blanche avec un message de réussite ou d’erreur.

Si vous voyez un message de succès, allez dans phpMyAdmin depuis le tableau de bord EasyPHP et vérifiez que la base de données est créée.

phpmyadmin nouvelle base de données vide

Créer une table dans une base de données MySQL avec PHP

Votre base de données n’est pas encore prête à stocker des données ; vous avez besoin d’une table pour y placer les données. Comme pour la création d’une nouvelle base de données, vous devez vous connecter à votre serveur, mais vous devez également inclure le nom de votre base de données en tant que variable. Sans cela, vos requêtes SQL ne mèneront nulle part.

 $servername = "localhost";
$username = "root";
$password = "";
$databasename = "MUOdatabase";

$conn = new mysqli($servername, $username, $password, $databasename);

if ($conn->connect_error) {
  die("Connection error: " . $conn->connect_error);
}

La requête SQL CREATE TABLE est plus compliquée que la plupart des autres. Votre table a besoin d’un nom (nous avons appelé la nôtre MUOtable), et vous devez définir les colonnes qu’elle contiendra.

La première colonne est une valeur entière auto-incrémentée qui donne à chaque enregistrement un QI unique, commençant à 1 et comptant avec chaque nouvel enregistrement. À côté de cela, il y a également trois colonnes varchar qui peuvent accepter des chaînes de chiffres et de lettres (animal, couleur et pays), et une colonne d’horodatage pour enregistrer l’heure de la dernière mise à jour de chaque enregistrement.

 $sql = "CREATE TABLE MUOtable (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
animal VARCHAR(30) NOT NULL,
color VARCHAR(30) NOT NULL,
country VARCHAR(50),
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)";

if ($conn->query($sql) === TRUE) {
  echo "Table created.";
} else {
  echo "Table creation error: " . $conn->error;
}

$conn->close();

Comme vous l’avez fait lors de la création de votre base de données, vérifiez si la requête a réussi ou échoué. Vous devez également fermer la connexion après avoir effectué une opération de ce type.

table vide dans phpmyadmin

Ajoutez ce code à un fichier script PHP dans votre répertoire de travail, sauvegardez-le et lancez-le via le tableau de bord EasyPHP pour exécuter la requête. Une fois que vous avez fait cela, vous devriez voir la nouvelle table ajoutée à votre base de données dans phpMyAdmin.

A partir de là, vous n’aurez plus qu’à éditer le code dans le fichier Section de la requête SQL commentaires pour chacune des requêtes que vous allez exécuter.

Ajouter des données à une table MySQL avec PHP

Enfin, il est temps d’ajouter des données à la table de votre base de données !

 $sql = "INSERT INTO MUOtable (animal, color, country)
VALUES ('Elephant', 'Grey', 'England')";

if ($conn->query($sql) === TRUE) {
  echo "Record created.";
} else {
  echo "Record creation error: " . $conn->error;
}
table phpmyadmin avec données

La requête INSERT INTO est simple ; il suffit d’indiquer le nom de la table, les colonnes auxquelles vous souhaitez ajouter des données et les données elles-mêmes. Cet exemple ajoute Éléphant à la colonne des animaux, Gris à la colonne des couleurs et Angleterre à la colonne des pays.

Une fois que vous aurez exécuté le script plusieurs fois avec des données différentes, votre tableau commencera à prendre forme.

Modifier et supprimer des données à l’intérieur d’une table MySQL avec PHP

Comme vous pouvez le voir dans les données de votre table, il y a une erreur. Les éléphants ne vivent pas en Angleterre, la table doit donc être mise à jour avec les données correctes. La requête UPDATE est le meilleur moyen d’y parvenir.

 $sql = "UPDATE MUOtable SET country='Botswana' WHERE id=4";

if ($conn->query($sql) === TRUE) {
  echo "Record updated.";
} else {
  echo "Record update error: " . $conn->error;
}

Cette requête a besoin du nom de la table, de la colonne et de ses nouvelles données, ainsi que de l’identifiant de l’enregistrement à modifier.

phpmyadmin a mis à jour une table

La requête SQL DELETE est très similaire. Elle permet de supprimer un enregistrement de la table en fonction de l’identifiant que vous lui donnez, par exemple :

 $sql = "DELETE FROM MUOtable WHERE id=4"; 

Sélectionner des données dans une table MySQL avec PHP

La requête SELECT vous permet d’extraire des données de votre table et de les utiliser dans votre code. Elle doit connaître la table à laquelle vous voulez accéder, puis vous pouvez utiliser une boucle while pour afficher les données en HTML.

 $sql = "SELECT id, animal, color, country FROM MUOtable";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
  while($row = $result->fetch_assoc()) {
    echo "id: " . $row["id"]. " - Animal: " . $row["animal"]. " - Color: " . $row["color"]. " - Location: " . $row["country"]. "
";
  }
} else {
  echo "No results.";
}

Travailler avec les bases de données MySQL et PHP

PHP et les bases de données MySQL offrent aux développeurs web une gamme d’outils puissants, mais la sécurité doit toujours être une préoccupation. Assurer la sécurité de vos scripts PHP est un défi, et il vaut la peine de prendre le temps de se familiariser avec la sécurité côté serveur avant de déployer un code comme celui-ci sur un site Web réel.

Leave your vote

0 0 votes
Évaluation de l'article
S’abonner
Notification pour
guest
0 Commentaires
Le plus ancien
Le plus récent Le plus populaire
Commentaires en ligne
Afficher tous les commentaires

Log In

Forgot password?

Don't have an account? Register

Forgot password?

Enter your account data and we will send you a link to reset your password.

Your password reset link appears to be invalid or expired.

Log in

Privacy Policy

Add to Collection

No Collections

Here you'll find all collections you've created before.

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x