Insérer des données dans une base de données MySQL en utilisant PHP
Après avoir créé une base de données et une table MySQL, nous pouvons commencer à y insérer des données (c'est-à-dire des enregistrements). Dans ce tutoriel, nous allons apprendre comment insérer des données dans une base de données MySQL en utilisant PHP dans la pile XAMPP.
Prérequis
Assurez-vous d'avoir installé la pile XAMPP sur votre système. Le guide suivant explique comment installer la pile XAMPP sur Linux.
- Comment installer XAMPP sur Linux
Alternativement, vous pouvez utiliser les piles LAMP ou LEMP qui fournissent à la fois PHP et MySQL. Si vous êtes sur Linux, référez-vous aux guides suivants pour installer les piles LAMP/LEMP.
- Installer Apache, MySQL, PHP (Pile LAMP) sur Ubuntu 20.04 LTS
- Installer Nginx, MySQL, PHP (Stack LEMP) sur Ubuntu 20.04 LTS
- Installer Apache, MariaDB, PHP (Pile LAMP) sur CentOS 8
- Installer la pile Apache, MariaDB, PHP (LAMP) sur Arch Linux
- Installer la pile Nginx, MariaDB, PHP (LEMP) sur Arch Linux
Configurer XAMPP est beaucoup plus facile que les piles LAMP et LEMP. Donc, nous utiliserons la pile XAMPP tout au long de ce guide.
Après avoir configuré la pile XAMPP, vous devez créer une base de données MySQL et une table à l'intérieur de la base de données. Reportez-vous au guide suivant pour savoir comment créer une base de données et une table MySQL dans la pile XAMPP.
- Créer une base de données et une table MySQL en utilisant PHP dans XAMPP
À des fins de démonstration, je vais créer une table nommée "sales" dans une base de données appelée "my_company" dans mon environnement XAMPP.
Insérer des données dans une base de données MySQL en utilisant PHP
Nous pouvons insérer un seul enregistrement ou plusieurs enregistrements à la fois dans une table MySQL. Tout d'abord, nous verrons comment insérer un seul enregistrement.
Insertion d'un seul enregistrement dans une table MySQL en utilisant PHP
Nous utiliserons une instruction de requête SQL dans notre code PHP pour insérer un enregistrement dans la table. Nous pouvons insérer un seul enregistrement/ligne dans une table en utilisant la commande INSERT.
Syntaxe de requête :
INSERT INTO table_name(column1,column2,………….) VALUES (value1,value2,………….) (Ou)
INSERT INTO table_name VALUES (value1,value2,………….)Où, table_name représente le nom de la table et columns représente le nom de la colonne et les valeurs sont insérées dans la table.
Étapes
1. Spécifiez le nom du serveur, le nom d'utilisateur MySQL, le mot de passe et le nom de la base de données dans le code PHP.
Ici, le nom du serveur est localhost, le nom d'utilisateur est root et le mot de passe est vide. Et le nom de la base de données est my_company, nous créons une table appelée "sales" à l'intérieur de cette base de données.
2. Créez une connexion en utilisant les détails ci-dessus.
En utilisant la fonction my_sqli_connect(), nous allons établir une connexion. Elle prendra trois paramètres. Le premier sera le nom du serveur, le deuxième est le nom d'utilisateur et le dernier est le mot de passe. Elle prendra également un nom de base de données qui est optionnel ici, car nous créons juste la connexion.
Code :
$connection = mysqli_connect($server_name, $user_name, $password,$database_name)3. Vérifiez la connexion.
Nous pouvons vérifier la connexion en utilisant la fonction mysqli_connect_error() spécifiée dans une condition if. Cette fonction affichera une erreur si la connexion échoue.
4. Spécifiez la requête SQL pour insérer un seul enregistrement dans la table.
Dans cette étape, nous spécifions la requête SQL pour insérer des valeurs dans la base de données. Supposons que le nom de la base de données soit « my_company » et que nous la stockions dans une variable nommée query. Le nom de la table est « sales » qui contient trois colonnes.
Code :
$query = "INSERT INTO table_name (id,name,count) VALUES (1,'Cooking-Gas',40)";5. Vérification de la création.
Si nous voulons vérifier si les valeurs ont été insérées ou non, nous pouvons utiliser la fonction mysqli_query().
Code :
mysqli_query($connection, $query)Cela prendra deux paramètres.
- Le paramètre
$connectionspécifie les détails de la connexion. - Le paramètre
$queryest la requête SQL que nous utilisons pour insérer un enregistrement/une ligne dans la table
Si cette condition est vraie, alors une ligne sera insérée. Sinon, elle renverra une erreur. Nous pouvons vérifier l'erreur en utilisant la fonction mysqli_error($connection).
6. Fermez la connexion.
Ceci est la dernière étape où nous devons fermer la connexion en utilisant la fonction mysqli_close().
Code :
mysqli_close($connection);Maintenant, écrivons un exemple de code PHP basé sur les étapes ci-dessus.
Code PHP pour insérer un seul enregistrement dans une table MySQL
Créez un nouveau fichier nommé insert.php dans le dossier /htdocs avec le contenu suivant.
Attention : Si vous utilisez Linux, le dossier htdocs sera sous le répertoire /opt/lampp/. Si vous êtes sur Windows, le dossier htdocs se trouvera généralement dans le dossier C:\xampp.
<?php
//specify the server name and here it is localhost
$server_name = "localhost";
//specify the username - here it is root
$user_name = "root";
//specify the password - it is empty
$password = "";
//specify the database name - "my_company"
$database_name = "my_company";
// Creating the connection by specifying the connection details
$connection = mysqli_connect($server_name, $user_name, $password,$database_name);
//sql query to insert a row into sales table
$query = "INSERT INTO sales (id,name,count) VALUES (1,'Cooking-Gas',40)";
if (mysqli_query($connection, $query)) {
echo "record Inserted Successfully";
} else {
echo "Error:" . mysqli_error($connection);
}
//close the connection
mysqli_close($connection);
?>Dans le code ci-dessus, "my_company" est le nom de la base de données et "sales" est le nom de la table.
Ouvrez votre navigateur web et allez à http://localhost/insert.php. Vous verrez une sortie comme celle-ci dans votre fenêtre de navigateur.
Vous pouvez également vérifier si l'enregistrement/la ligne est inséré depuis phpMyAdmin. Pour ce faire, ouvrez le tableau de bord de phpMyAdmin en naviguant à l'URL http://localhost/phpmyadmin depuis le navigateur.
Allez à my_company -> ventes et cliquez sur Parcourir pour voir l'enregistrement inséré.
Comme vous pouvez le voir, nous avons réussi à insérer un seul enregistrement dans la table appelée "sales" dans la base de données my_company.
Insertion de plusieurs enregistrements dans une table MySQL en utilisant PHP
Nous pouvons insérer plusieurs enregistrements/lignes dans une table en utilisant la commande INSERT.
Syntaxe de requête :
INSERT INTO table_name(column1,column2,………….) VALUES (value1,value2,………….)(Ou)
INSERT INTO table_name VALUES (value1,value2,………….)Où, table_name représente le nom de la table MySQL et columns représente le nom de la colonne et les valeurs sont insérées dans la table.
Étapes
1. Spécifiez le nom du serveur, le nom d'utilisateur MySQL, le mot de passe et le nom de la base de données.
Ici, le nom du serveur est localhost, le nom d'utilisateur est root et le mot de passe est vide. Et le nom de la base de données est "my_company", et nous créons une table à l'intérieur de cette base de données.
2. Créez une connexion en utilisant les détails ci-dessus.
En utilisant la fonction mysqli_connect(), nous établirons une connexion. Elle prendra trois paramètres. Le premier sera le nom du serveur, le deuxième est le nom d'utilisateur et le dernier est le mot de passe. Elle prendra également un nom de base de données qui est optionnel ici, car nous créons simplement la connexion.
Code :
$connection = mysqli_connect($server_name, $user_name, $password,$database_name);3. Vérifiez la connexion.
Nous pouvons vérifier la connexion en utilisant la fonction mysqli_connect_error() spécifiée dans une condition if. Cette fonction représentera une erreur si la connexion échoue.
4. Spécifiez la requête SQL pour insérer plusieurs enregistrements dans la table.
À cette étape, nous spécifions la requête SQL pour insérer des valeurs dans la base de données dans une variable. Que le nom de la base de données soit my_company et que nous stockions dans une variable nommée query. Le nom de la table est sales qui a trois colonnes.
Code :
$query = "INSERT INTO table_name (id,name,count) VALUES (5,'Shampoo',10);";
$query .= "INSERT INTO table_name (id,name,count) VALUES (2,'Milk',20);";
$query .= "INSERT INTO table_name (id,name,count) VALUES (3,'Books',14);";
$query .= "INSERT INTO table_name (id,name,count) VALUES (4,'Chocos',45);";
$query .= "INSERT INTO table_name (id,name,count) VALUES (6,'Eggs',12)";Attention : Veuillez faire attention au point (.) dans la deuxième et les requêtes SQL suivantes. Vous devez mettre un point (.) devant le signe égal à partir de la deuxième requête.
5. Vérification de la création.
Si nous voulons vérifier si les valeurs ont été insérées ou non, nous pouvons utiliser la fonction mysqli_query().
Code :
mysqli_query($connection, $query)Comme vous pouvez le voir, cela prend deux paramètres.
- Le paramètre
$connectionspécifie les détails de la connexion. - Le paramètre
$queryest la requête SQL que nous utilisons pour insérer plusieurs lignes dans la table
Si cette condition est vraie, alors les lignes seront insérées. Sinon, elle renverra une erreur. Nous pouvons vérifier l'erreur en utilisant la fonction mysqli_error($connection).
6. Fermez la connexion.
Ceci est la dernière étape où nous devons fermer la connexion en utilisant la fonction mysqli_close().
Code :
mysqli_close($connection);Écrivons maintenant un exemple de code PHP pour insérer 5 enregistrements en suivant les étapes ci-dessus.
Code PHP pour insérer plusieurs enregistrements dans une table MySQL
Créez un nouveau fichier nommé insert_multiple.php dans le dossier /htdocs avec le contenu suivant.
<?php
//specify the server name and here it is localhost
$server_name = "localhost";
//specify the username - here it is root
$user_name = "root";
//specify the password - it is empty
$password = "";
//specify the database name - "my_company"
$database_name = "my_company";
// Creating the connection by specifying the connection details
$connection = mysqli_connect($server_name, $user_name, $password,$database_name);
//sql query to insert 5 rows into sales table
$query = "INSERT INTO sales (id,name,count) VALUES (5,'Shampoo',10);";
$query .= "INSERT INTO sales (id,name,count) VALUES (2,'Milk',20);";
$query .= "INSERT INTO sales (id,name,count) VALUES (3,'Books',14);";
$query .= "INSERT INTO sales (id,name,count) VALUES (4,'Chocos',45);";
$query .= "INSERT INTO sales (id,name,count) VALUES (6,'Eggs',12)";
if (mysqli_multi_query($connection, $query)) {
echo "records Inserted Successfully";
} else {
echo "Error:" . mysqli_error($connection);
}
//close the connection
mysqli_close($connection);
?>Ouvrez votre navigateur Web et accédez à http://localhost/insert_multiple.php. Vous verrez une sortie comme celle-ci dans votre fenêtre de navigateur.
Vérifions si les enregistrements sont effectivement insérés ou non depuis le tableau de bord phpMyAdmin.
Ouvrez le tableau de bord phpMyAdmin en naviguant vers l'URL http://localhost/phpmyadmin depuis le navigateur. Allez dans my_company-> sales et cliquez sur le bouton Parcourir pour voir les enregistrements insérés.
Conclusion
Dans ce tutoriel, nous avons expliqué comment insérer des données dans une base de données MySQL en utilisant du code PHP dans la pile XAMPP. Nous avons fourni deux exemples de code PHP pour montrer comment insérer des enregistrements uniques et multiples dans une table MySQL.
Changez le code selon vos besoins et testez-le sur votre système. Si vous avez des questions, faites-le nous savoir via la section des commentaires ci-dessous.
Lire ensuite :
- Comment sélectionner des données depuis une base de données MySQL en utilisant PHP dans la pile XAMPP



