Démarrage rapide : Utilisation de PHP pour se connecter et interroger des données dans Azure Database pour MySQL
S’APPLIQUE À : Azure Database pour MySQL – Serveur unique
Important
Le serveur unique Azure Database pour MySQL est en voie de mise hors service. Nous vous conseillons vivement de procéder à une mise à niveau vers Azure Database pour MySQL – Serveur flexible. Pour obtenir plus d’informations sur la migration vers Azure Database pour MySQL – Serveur flexible, consultez Qu’en est-il du Serveur unique Azure Database pour MySQL ?
Ce guide de démarrage rapide vous explique comment vous connecter à une base de données Azure pour MySQL en utilisant une application PHP. Il détaille l’utilisation d’instructions SQL pour interroger la base de données, la mettre à jour, y insérer des données ou en supprimer.
Prérequis
Voici les prérequis pour ce guide de démarrage rapide :
Compte Azure avec un abonnement actif. Créez un compte gratuitement.
Créer un serveur unique Azure Database pour MySQL à l’aide du portail Azure
ou d’Azure CLI, si vous n’en avez pas.Selon que vous utilisez un accès public ou privé, effectuez UNE des actions ci-dessous pour activer la connectivité.
Action Méthode de connexion Guide pratique Configurer les règles de pare-feu Public Portail
INTERFACE DE LIGNE DE COMMANDEConfigurer le point de terminaison de service Public Portail
INTERFACE DE LIGNE DE COMMANDEConfigurer une liaison privée Privées Portail
INTERFACE DE LIGNE DE COMMANDECréer une base de données et un utilisateur non-administrateur
Installer la toute dernière version PHP pour votre système d’exploitation
Notes
Nous utilisons la bibliothèque MySQLi pour gérer, connecter et interroger le serveur dans ce guide de démarrage rapide.
Obtenir des informations de connexion
Vous pouvez récupérer les informations de connexion du serveur de base de données depuis le portail Azure en suivant ces étapes :
- Connectez-vous au portail Azure.
- Accédez à la page Azure Database pour MySQL. Vous pouvez rechercher et sélectionner Azure Database pour MySQL serveurs.
- Sélectionnez votre serveur MySQL (par exemple mydemoserver).
- Dans la page Vue d’ensemble, copiez le nom complet du serveur en regard de Nom du serveur et le nom d’utilisateur administrateur en regard de Nom de connexion de l’administrateur du serveur. Pour copier le nom du serveur ou de l’hôte, pointez dessus et sélectionnez l’icône Copier.
Important
- Si vous avez oublié votre mot de passe, vous pouvez réinitialiser le mot de passe.
- Remplacez les valeurs des paramètres host, username, password et db_name par vos propres valeurs**.
Étape 1 : Connexion au serveur
SSL est activé par défaut. Vous devrez peut-être télécharger le certificat SSL DigiCertGlobalRootG2 pour vous connecter depuis votre environnement local. Ce code appelle :
- mysqli_init pour initialiser MySQLi.
- mysqli_ssl_set pour pointer sur le chemin du certificat SSL. Cette action est nécessaire pour votre environnement local, mais elle est inutile pour App Service Web App et les machines virtuelles Azure.
- mysqli_real_connect pour se connecter à MySQL.
- mysqli_close pour fermer la connexion.
$host = 'mydemoserver.mysql.database.azure.com';
$username = 'myadmin@mydemoserver';
$password = 'your_password';
$db_name = 'your_database';
//Initializes MySQLi
$conn = mysqli_init();
mysqli_ssl_set($conn,NULL,NULL, "/var/www/html/DigiCertGlobalRootG2.crt.pem", NULL, NULL);
// Establish the connection
mysqli_real_connect($conn, $host, $username, $password, $db_name, 3306, NULL, MYSQLI_CLIENT_SSL);
//If connection failed, show the error
if (mysqli_connect_errno())
{
die('Failed to connect to MySQL: '.mysqli_connect_error());
}
Étape 2 : Créer une table
Utilisez le code suivant pour la connexion. Ce code appelle :
- mysqli_query pour exécuter la requête.
// Run the create table query
if (mysqli_query($conn, '
CREATE TABLE Products (
`Id` INT NOT NULL AUTO_INCREMENT ,
`ProductName` VARCHAR(200) NOT NULL ,
`Color` VARCHAR(50) NOT NULL ,
`Price` DOUBLE NOT NULL ,
PRIMARY KEY (`Id`)
);
')) {
printf("Table created\n");
}
Étape 3 : Insertion des données
Utilisez le code suivant pour insérer des données à l’aide d’une instruction SQL INSERT. Ce code utilise les méthodes :
- mysqli_prepare pour créer une instruction INSERT préparée.
- mysqli_stmt_bind_param pour lier les paramètres de chaque valeur de colonne insérée.
- mysqli_stmt_execute.
- mysqli_stmt_close pour fermer l’instruction à l’aide de la méthode.
//Create an Insert prepared statement and run it
$product_name = 'BrandNewProduct';
$product_color = 'Blue';
$product_price = 15.5;
if ($stmt = mysqli_prepare($conn, "INSERT INTO Products (ProductName, Color, Price) VALUES (?, ?, ?)"))
{
mysqli_stmt_bind_param($stmt, 'ssd', $product_name, $product_color, $product_price);
mysqli_stmt_execute($stmt);
printf("Insert: Affected %d rows\n", mysqli_stmt_affected_rows($stmt));
mysqli_stmt_close($stmt);
}
Étape 4 : Lire les données
Utilisez le code suivant pour lire les données à l’aide d’une instruction SQL SELECT. Le code utilise la méthode :
- mysqli_query pour exécuter la requête SELECT.
- mysqli_fetch_assoc pour extraire les lignes résultantes.
//Run the Select query
printf("Reading data from table: \n");
$res = mysqli_query($conn, 'SELECT * FROM Products');
while ($row = mysqli_fetch_assoc($res))
{
var_dump($row);
}
Étape 5 : Suppression de données
Utilisez le code suivant pour supprimer des lignes au moyen d’une instruction SQL DELETE. Le code utilise les méthodes :
- mysqli_prepare pour créer une instruction DELETE préparée.
- mysqli_stmt_bind_param lie les paramètres.
- mysqli_stmt_execute exécute l’instruction DELETE préparée.
- mysqli_stmt_close ferme l’instruction.
//Run the Delete statement
$product_name = 'BrandNewProduct';
if ($stmt = mysqli_prepare($conn, "DELETE FROM Products WHERE ProductName = ?")) {
mysqli_stmt_bind_param($stmt, 's', $product_name);
mysqli_stmt_execute($stmt);
printf("Delete: Affected %d rows\n", mysqli_stmt_affected_rows($stmt));
mysqli_stmt_close($stmt);
}
Nettoyer les ressources
Pour nettoyer toutes les ressources utilisées dans le cadre de ce guide de démarrage rapide, supprimez le groupe de ressources à l’aide de la commande suivante :
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes