MySQL gratuit et open-source est l'un des systèmes de gestion de bases de données relationnelles les plus populaires. Il est utilisé pour stocker le contenu des sites Web et des applications Web. Si vous souhaitez intégrer une application Web basée sur PHP à MySQL, vous devrez tester si PHP est capable de se connecter à MySQL et d'exécuter des requêtes de base de données. Pour récupérer des données de MySQL, vous devez établir une connexion entre la base de données et un script PHP. Il existe deux façons d'établir une connexion entre la base de données et un script PHP.
Dans cet article, nous vous expliquerons :
- Comment se connecter à MySQL à l'aide de l'extension PHP MySQLi
- Comment se connecter à MySQL à l'aide d'objets de données PHP (PDO)
Prérequis
- Un serveur exécutant Linux sur la plate-forme cloud Atlantic.Net
- Un mot de passe root configuré sur votre serveur
Créer un serveur cloud Atlantic.Net
Tout d'abord, connectez-vous à votre serveur Atlantic.Net Cloud. Créez un nouveau serveur en choisissant un système d'exploitation Linux basé sur Ubuntu ou Debian avec au moins 1 Go de RAM. Connectez-vous à votre serveur cloud via SSH et connectez-vous à l'aide des informations d'identification mises en évidence en haut de la page.
Installer la pile LAMP
Avant de commencer, une pile LAMP doit être installée sur votre serveur, si elle n'est pas installée, vous pouvez l'installer avec la commande suivante :
apt-get install apache2 mysql-server php libapache2-mod-php php-mysqli php-pdo -y
Une fois la pile LAMP installée, démarrez et activez le service Apache et MySQL :
systemctl start apache2 mysql systemctl enable apache2 mysql
Configurer la base de données MySQL
Ensuite, vous devrez créer une base de données de test, une table avec des données à interroger sur son contenu à l'aide d'un script PHP.
Tout d'abord, connectez-vous au shell MySQL avec la commande suivante :
mysql
Une fois connecté, créez une base de données et un utilisateur avec la commande suivante :
CREATE DATABASE testdb; CREATE USER 'testuser'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
Ensuite, accordez tous les privilèges à la base de données avec la commande suivante :
GRANT ALL ON testdb.* TO 'testuser'@'%';
Ensuite, basculez la base de données vers testdb et créez une table nommée people :
USE testdb; CREATE TABLE people ( item_id INT AUTO_INCREMENT, content VARCHAR(255), PRIMARY KEY(item_id) );
Ensuite, insérez des données dans le tableau :
INSERT INTO people (content) VALUES ("Hitesh Jethva"); INSERT INTO people (content) VALUES ("Jayesh Jethva"); INSERT INTO people (content) VALUES ("Vyom Jethva"); INSERT INTO people (content) VALUES ("Ninav Jethva");
Ensuite, vérifiez toutes les données insérées avec la commande suivante :
SELECT * FROM people;
Vous obtiendrez le résultat suivant :
+---------+---------------+ | item_id | content | +---------+---------------+ | 1 | Hitesh Jethva | | 2 | Jayesh Jethva | | 3 | Vyom Jethva | | 4 | Ninav Jethva | +---------+---------------+
Ensuite, videz les privilèges et quittez MySQL avec la commande suivante :
FLUSH PRIVILEGES; EXIT;
Se connecter à MySQL à l'aide de PHP MySQLi
MySQLi est une extension MySQL qui prend en charge les bases de données MySQL et permet aux utilisateurs de se connecter à MySQL et d'accéder à son contenu.
Tout d'abord, créez un script PHP dans le répertoire racine Web d'Apache pour vous connecter à une base de données MySQL à l'aide de MySQLi :
nano /var/www/html/php-mysqli-connection.php
Ajoutez le code suivant :
<?php $servername = "localhost"; $database = "testdb"; $username = "testuser"; $password = "password"; $table = "people"; $conn = mysqli_connect($servername, $username, $password, $database); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } echo "Connected to MySQL Using Mysqli Successfully"; echo "<h2>List Table Content</h2><ol>"; foreach($conn->query("SELECT content FROM $table") as $row) { echo "<li>" . $row['content'] . "</li>"; } echo "</ol>"; mysqli_close($conn); ?>
Enregistrez et fermez le fichier lorsque vous avez terminé.
Maintenant, ouvrez votre navigateur Web et accédez au script PHP en utilisant l'URL http://your-server-ip/php-mysqli-connection.php . Si PHP est connecté au serveur MySQL, vous obtiendrez le contenu du tableau sur l'écran suivant :
Se connecter à MySQL à l'aide de PHP PDO
PDO, également appelé "PHP Data Objects", est une extension PHP utilisée pour se connecter aux bases de données MySQL.
Tout d'abord, créez un script PHP dans le répertoire racine Web d'Apache pour vous connecter à une base de données MySQL à l'aide de PDO :
nano /var/www/html/php-pdo-connection.php
Ajoutez le code suivant :
<?php $servername = "localhost"; $database = "testdb"; $username = "testuser"; $password = "password"; $table = "people"; $charset = "utf8mb4"; try { $dsn = "mysql:host=$servername;dbname=$database;charset=$charset"; $pdo = new PDO($dsn, $username, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Connected to MySQL Using PDO Successfully"; echo "<h2>List Table Content</h2><ol>"; foreach($pdo->query("SELECT content FROM $table") as $row) { echo "<li>" . $row['content'] . "</li>"; } echo "</ol>"; } catch (PDOException $e) { print "Error!: " . $e->getMessage() . "<br/>"; die(); } ?>
Enregistrez et fermez le fichier lorsque vous avez terminé.
Maintenant, ouvrez votre navigateur Web et accédez au script PHP en utilisant l'URL http://your-server-ip/php-pdo-connection.php . Si PHP est connecté au serveur MySQL, vous obtiendrez le contenu du tableau sur l'écran suivant :
Conclusion
Dans cet article, nous avons expliqué deux façons de se connecter à une base de données MySQL en utilisant PHP. PDO et MySQLi sont des extensions PHP très utiles. Cependant, l'extension MySQLi n'est utilisée que pour les bases de données MySQL, tandis que l'extension PDO fonctionne avec 12 bases de données différentes. Essayez-le sur l'hébergement VPS d'Atlantic.Net !