Guida introduttiva: Usare PHP per connettersi ed eseguire query sui dati in Database di Azure per MySQL

SI APPLICA A: Database di Azure per MySQL - Server singolo

Importante

Database di Azure per MySQL server singolo si trova nel percorso di ritiro. È consigliabile eseguire l'aggiornamento a Database di Azure per MySQL server flessibile. Per altre informazioni sulla migrazione a Database di Azure per MySQL server flessibile, vedere Che cosa accade a Database di Azure per MySQL server singolo?

Questa guida introduttiva illustra come connettersi a un database di Azure per MySQL usando un'applicazione PHP. Spiega come usare le istruzioni SQL per eseguire query, inserire, aggiornare ed eliminare dati nel database.

Prerequisiti

Per questa guida di avvio rapido, è necessario:

Nota

In questo avvio rapido viene usata la libreria MySQLi per gestire la connessione ed eseguire query sul server.

Ottenere informazioni di connessione

È possibile ottenere le informazioni di connessione del server di database dal portale di Azure seguendo questa procedura:

  1. Accedere al portale di Azure.

  2. Passare alla pagina Database di Azure per MySQL. È possibile cercare e selezionare Database di Azure per MySQL. Find Azure Database for MySQL

  3. Selezionare il server MySQL (ad esempio mydemoserver).

  4. Nella pagina Panoramica copiare il nome completo del server accanto a Nome del server e il nome utente amministratore accanto a Nome di accesso dell'amministratore server. Per copiare il nome del server o il nome host, passare il puntatore su di esso e selezionare l'icona Copia.

Importante

  • Se si è dimenticata la password, è possibile reimpostarla.
  • Sostituire i parametri host, username, password e db_name con i valori effettivi**

Passaggio 1: Connessione al server

SSL è abilitato per impostazione predefinita. Potrebbe essere necessario scaricare il certificato SSL DigiCertGlobalRootG2 per connettersi dall'ambiente locale. Questo codice chiama:

  • mysqli_init per inizializzare MySQLi.
  • mysqli_ssl_set per puntare al percorso del certificato SSL. Questo è necessario per l'ambiente locale ma non per l'app Web del servizio app o per le macchine virtuali di Azure.
  • mysqli_real_connect per stabilire la connessione a MySQL.
  • mysqli_close per chiudere la connessione.
$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());
}

Passaggio 2: Creare una tabella

Per stabilire la connessione, usare il codice seguente. Questo codice chiama:

// 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");
}

Passaggio 3: Inserire dati

Usare il codice seguente per inserire i dati usando un'istruzione SQL INSERT. Questo codice usa i metodi:

//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);
}

Passaggio 4: Leggere i dati

Usare il codice seguente per leggere i dati mediante un'istruzione SQL SELECT. Il codice usa i metodi:

//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);
 }

Passaggio 5: Eliminare i dati

Usare il codice seguente per eliminare righe usando un'istruzione SQL DELETE. Il codice usa i metodi:

//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);
}

Pulire le risorse

Per pulire tutte le risorse usate in questo argomento di avvio rapido, eliminare il gruppo di risorse con il comando seguente:

az group delete \
    --name $AZ_RESOURCE_GROUP \
    --yes

Passaggi successivi