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:
Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
Creare un server singolo di Database di Azure per MySQL usando il portale di Azure
o in alternativa l'interfaccia della riga di comando di Azure.A seconda che si usi l'accesso pubblico o privato, completare UNA delle azioni seguenti per abilitare la connettività.
Azione Metodo di connettività Guida pratica Configurare le regole del firewall Pubblico Portale
CLIConfigurare l'endpoint di servizio Pubblico Portale
CLIConfigurare il collegamento privato Privata Portale
CLIInstallare la versione di PHP più recente per il sistema operativo in uso
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:
Accedere al portale di Azure.
Passare alla pagina Database di Azure per MySQL. È possibile cercare e selezionare Database di Azure per MySQL.
Selezionare il server MySQL (ad esempio mydemoserver).
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:
- mysqli_query per eseguire la 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");
}
Passaggio 3: Inserire dati
Usare il codice seguente per inserire i dati usando un'istruzione SQL INSERT. Questo codice usa i metodi:
- mysqli_prepare per creare un'istruzione insert preparata
- mysqli_stmt_bind_param per associare i parametri per ogni valore di colonna inserito
- mysqli_stmt_execute
- mysqli_stmt_close per chiudere l'istruzione usando il metodo
//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:
- mysqli_query per eseguire la query SELECT.
- mysqli_fetch_assoc per recuperare le righe risultanti.
//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:
- mysqli_prepare per creare un'istruzione delete preparata
- mysqli_stmt_bind_param per associare i parametri
- mysqli_stmt_execute per eseguire l'istruzione delete preparata
- mysqli_stmt_close per chiudere l'istruzione
//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