Краткое руководство. Использование PHP для подключения и запроса данных в База данных Azure для MySQL
ОБЛАСТЬ ПРИМЕНЕНИЯ: База данных Azure для MySQL — отдельный сервер
Внимание
База данных Azure для MySQL один сервер находится на пути выхода на пенсию. Настоятельно рекомендуется выполнить обновление до База данных Azure для MySQL гибкого сервера. Дополнительные сведения о миграции на гибкий сервер База данных Azure для MySQL см. в статье "Что происходит с одним сервером База данных Azure для MySQL?"
В этом кратком руководстве объясняется, как подключиться к базе данных Azure для MySQL с помощью приложения PHP. Здесь также показано, как использовать инструкции SQL для запроса, вставки, обновления и удаления данных в базе данных.
Необходимые компоненты
Для целей этого краткого руководства понадобится:
Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
Создать отдельный сервер Базы данных Azure для MySQL с помощью портала Azure
или с помощью Azure CLI, если он еще не создан.Выполнить ОДНО из действий (в зависимости от того, пользуетесь вы общим или частным доступом), чтобы настроить возможность подключения.
Действие Метод подключения Практическое руководство Настройка правил брандмауэра Общедоступный Портал
CLIНастройка конечной точки службы Общедоступный Портал
CLIНастройка приватного канала Private Портал
CLIСоздание базы данных и пользователя без прав администратора.
Установка последней версии PHP для вашей операционной системы
Примечание.
При работе с этим кратким руководством мы используем библиотеку MySQLi для управления подключением и выполнения запросов к серверу.
Получение сведений о подключении
Чтобы получить сведения о подключении сервера базы данных с портала Azure, выполните следующие действия.
- Войдите на портал Azure.
- Перейдите на страницу Базы данных Azure для MySQL. Вы можете искать и выбирать серверы База данных Azure для MySQL.
- Выберите свой сервер MySQL (например, mydemoserver).
- На странице Обзор скопируйте полное имя сервера рядом с полем Имя сервера и имя администратора рядом с полем Имя для входа администратора сервера. Чтобы скопировать имя сервера или имя узла, наведите на него указатель мыши и щелкните значок копирования.
Внимание
- Если вы забыли свой пароль, его можно сбросить.
- Замените значения параметров host, username, password и db_name своими значениями**.
Шаг 1. Подключение к серверу
Протокол SSL включен по умолчанию. Для подключения из локальной среды может потребоваться скачать SSL-сертификат DigiCertGlobalRootG2. Этот код вызывает:
- mysqli_init для инициализации MySQLi.
- mysqli_ssl_set для указания пути SSL-сертификата. Это необходимо для локальной среды, но не требуется для веб-приложения Службы приложений или виртуальных машин Azure.
- mysqli_real_connect для подключения к MySQL.
- mysqli_close для закрытия подключения.
$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());
}
Шаг 2. Создание таблицы
Для подключения используйте следующий код. Этот код вызывает:
- mysqli_query для запуска запроса.
// 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");
}
Шаг 3. Вставка данных
Используйте указанный ниже код с инструкцией SQL INSERT для вставки данных. Этот код использует методы:
- mysqli_prepare для создания подготовленной инструкции INSERT.
- mysqli_stmt_bind_param для привязки параметров для каждого вставленного значения столбца.
- mysqli_stmt_execute.
- mysqli_stmt_close для закрытия инструкции с помощью метода.
//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);
}
Шаг 4. Чтение данных
Используйте указанный ниже код с инструкцией SQL SELECT для чтения данных. Этот код использует методы:
- mysqli_query для выполнения запроса SELECT.
- mysqli_fetch_assoc для получения результирующих строк.
//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);
}
Шаг 5. Удаление данных
Используйте указанный ниже код с инструкцией SQL DELETE для удаления строк. Этот код использует методы:
- mysqli_prepare для создания подготовленной инструкции DELETE.
- mysqli_stmt_bind_param для привязки параметров.
- mysqli_stmt_execute для создания подготовленной инструкции DELETE.
- mysqli_stmt_close для закрытия инструкции.
//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);
}
Очистка ресурсов
Чтобы очистить все ресурсы, используемые во время этого краткого руководства, удалите группу ресурсов с помощью следующей команды:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes