Inicio rápido: Uso de PHP para conectarse y consultar datos en Azure Database for MySQL
SE APLICA A: Azure Database for MySQL: Servidor único
Importante
El servidor único de Azure Database for MySQL está en la ruta de retirada. Se recomienda encarecidamente actualizar al servidor flexible de Azure Database for MySQL. Para más información sobre la migración al servidor flexible de Azure Database for MySQL, consulte ¿Qué ocurre con Azure Database for MySQL con servidor único?
En este tutorial rápido se muestra cómo conectarse a una instancia de Azure Database for MySQL mediante una aplicación de PHP. Se indica cómo usar instrucciones SQL para consultar, insertar, actualizar y eliminar datos en la base de datos.
Requisitos previos
Para esta guía de inicio rápido, necesitará lo siguiente:
Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
Inicio rápido: Creación de un servidor único de Azure Database for MySQL mediante Azure Portal.
o la CLI de Azure si no tiene uno.En función de si usa el acceso público o privado, complete UNA de las acciones siguientes para habilitar la conectividad.
Acción Método de conectividad Guía paso a paso Configurar reglas de firewall Público Portal
CLIConfigurar el punto de conexión de servicio Público Portal
CLIConfiguración del vínculo privado Private Portal
CLICreación de una base de datos y un usuario que no sea administrador
Instalación de la versión más reciente de PHP para su sistema operativo
Nota
Estamos usando la biblioteca de MySQLi para administrar la conexión y consultar el servidor en este inicio rápido.
Obtención de información sobre la conexión
Para obtener la información de conexión del servidor de bases de datos de Azure Portal, siga estos pasos:
Inicie sesión en Azure Portal.
Vaya a la página Azure Database for MySQL. Puede buscar Azure Database for MySQL y selecciónelo.
Seleccione el servidor de MySQL (como mydemoserver).
En la página de información general, copie el nombre del servidor completo junto al nombre del servidor y el nombre de usuario administrador junto a Nombre de inicio de sesión del administrador del servidor. Para copiar el nombre del servidor o nombre de host, mantenga el cursor sobre él y seleccione el icono Copiar.
Importante
- Si olvidó la contraseña, puede restablecerla .
- Reemplace los parámetros de host, username, password y db_name con sus propios valores**.
Paso 1: Conexión al servidor
SSL está habilitado de manera predeterminada. Es posible que tenga que descargar el certificado de SSL DigiCertGlobalRootG2 para conectarse desde el entorno local. Este código llama a:
- mysqli_init para inicializar MySQLi.
- mysqli_ssl_set para apuntar a la ruta de acceso del certificado SSL. Esto es necesario para el entorno local, pero no es necesario para la aplicación web de App Service o las máquinas virtuales de Azure.
- mysqli_real_connect para conectarse a MySQL.
- mysqli_close para cerrar la conexión.
$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());
}
Paso 2: Creación de una tabla
Use el código siguiente para conectarse. Este código llama a:
- mysqli_query para ejecutar la consulta.
// 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");
}
Paso 3: Insertar datos
Use el código siguiente para insertar datos mediante la instrucción SQL INSERT. Este código usa los métodos:
- mysqli_prepare para crear una instrucción INSERT preparada.
- mysqli_stmt_bind_param para enlazar los parámetros de cada valor de columna insertada.
- mysqli_stmt_execute
- mysqli_stmt_close para cerrar la instrucción mediante el método using.
//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);
}
Paso 4: Lectura de datos
Use el código siguiente para leer los datos mediante la instrucción SQL SELECT. El código usa el método:
- mysqli_query ejecuta la consulta SELECT.
- mysqli_fetch_assoc para capturar las filas resultantes.
//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);
}
Paso 5: Eliminación de datos
Use el código siguiente para eliminar filas mediante la instrucción SQL DELETE. El código usa los métodos:
- mysqli_prepare para crear una instrucción Delete preparada.
- mysqli_stmt_bind_param enlaza los parámetros.
- mysqli_stmt_execute ejecuta la instrucción Delete preparada.
- mysqli_stmt_close cierra la instrucción.
//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);
}
Limpieza de recursos
Para limpiar todos los recursos utilizados durante esta guía de inicio rápido, elimine el grupo de recursos con el siguiente comando:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes