Database di Azure per MySQL: usare PHP per connettersi ed eseguire query sui dati

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. Questo articolo presuppone che si abbia familiarità con lo sviluppo con PHP, ma non con Database di Azure per MySQL.

Prerequisiti

Questa guida introduttiva usa le risorse create in una delle guide seguenti come punto di partenza:

Installare PHP

Installare PHP nel server o creare un'app Web di Azure che includa PHP.

MacOS

Linux (Ubuntu)

Windows

Ottenere informazioni di connessione

Ottenere le informazioni di connessione necessarie per connettersi al database di Azure per MySQL. Sono necessari il nome del server completo e le credenziali di accesso.

  1. Accedere al Portale di Azure.
  2. Nel riquadro a sinistra fare clic su Tutte le risorse e cercare il server creato, ad esempio myserver4demo.
  3. Fare clic sul nome del server.
  4. Selezionare la pagina Proprietà del server. Annotare il Nome server e il nome di accesso dell'amministratore del server. Nome del server del database di Azure per MySQL
  5. Se si dimenticano le informazioni di accesso per il server, passare alla pagina Panoramica per visualizzare il nome di accesso dell'amministratore del server e, se necessario, reimpostare la password.

Connettersi e creare una tabella

Usare il codice seguente per connettersi e creare una tabella usando l'istruzione SQL CREATE TABLE.

Il codice usa la classe di estensioni MySQL Improved (mysqli) inclusa in PHP. Il codice chiama i metodi mysqli_init e mysqli_real_connect per la connessione a MySQL. Chiama quindi il metodo mysqli_query per eseguire la query. Chiama infine il metodo mysqli_close per chiudere la connessione.

Sostituire i parametri host, username, password e db_name con i valori personalizzati.

<?php
$host = 'myserver4demo.mysql.database.azure.com';
$username = 'myadmin@myserver4demo';
$password = 'your_password';
$db_name = 'your_database';

//Establishes the connection
$conn = mysqli_init();
mysqli_real_connect($conn, $host, $username, $password, $db_name, 3306);
if (mysqli_connect_errno($conn)) {
die('Failed to connect to MySQL: '.mysqli_connect_error());
}

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

//Close the connection
mysqli_close($conn);
?>

Inserire dati

Usare il codice seguente per connettersi e inserire i dati usando un'istruzione SQL INSERT.

Il codice usa la classe di estensioni MySQL Improved (mysqli) inclusa in PHP. Il codice usa il metodo mysqli_prepare per creare un'istruzione insert preparata, quindi associa i parametri per ogni valore di colonna inserito usando il metodo mysqli_stmt_bind_param. Il codice esegue l'istruzione usando il metodo mysqli_stmt_execute e successivamente chiude l'istruzione usando il metodo mysqli_stmt_close.

Sostituire i parametri host, username, password e db_name con i valori personalizzati.

<?php
$host = 'myserver4demo.mysql.database.azure.com';
$username = 'myadmin@myserver4demo';
$password = 'your_password';
$db_name = 'your_database';

//Establishes the connection
$conn = mysqli_init();
mysqli_real_connect($conn, $host, $username, $password, $db_name, 3306);
if (mysqli_connect_errno($conn)) {
die('Failed to connect to MySQL: '.mysqli_connect_error());
}

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

// Close the connection
mysqli_close($conn);
?>

Leggere i dati

Usare il codice seguente per connettersi e leggere i dati usando un'istruzione SQL SELECT. Il codice usa la classe di estensioni MySQL Improved (mysqli) inclusa in PHP. Il codice usa il metodo mysqli_query per eseguire la query SQL e usa il metodo mysqli_fetch_assoc per recuperare le righe risultanti.

Sostituire i parametri host, username, password e db_name con i valori personalizzati.

<?php
$host = 'myserver4demo.mysql.database.azure.com';
$username = 'myadmin@myserver4demo';
$password = 'your_password';
$db_name = 'your_database';

//Establishes the connection
$conn = mysqli_init();
mysqli_real_connect($conn, $host, $username, $password, $db_name, 3306);
if (mysqli_connect_errno($conn)) {
die('Failed to connect to MySQL: '.mysqli_connect_error());
}

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

//Close the connection
mysqli_close($conn);
?>

Aggiornare i dati

Usare il codice seguente per connettersi e aggiornare i dati usando un'istruzione SQL UPDATE.

Il codice usa la classe di estensioni MySQL Improved (mysqli) inclusa in PHP. Il codice usa il metodo mysqli_prepare per creare un'istruzione update preparata, quindi associa i parametri per ogni valore di colonna aggiornato usando il metodo mysqli_stmt_bind_param. Il codice esegue l'istruzione usando il metodo mysqli_stmt_execute e successivamente chiude l'istruzione usando il metodo mysqli_stmt_close.

Sostituire i parametri host, username, password e db_name con i valori personalizzati.

<?php
$host = 'myserver4demo.mysql.database.azure.com';
$username = 'myadmin@myserver4demo';
$password = 'your_password';
$db_name = 'your_database';

//Establishes the connection
$conn = mysqli_init();
mysqli_real_connect($conn, $host, $username, $password, $db_name, 3306);
if (mysqli_connect_errno($conn)) {
die('Failed to connect to MySQL: '.mysqli_connect_error());
}

//Run the Update statement
$product_name = 'BrandNewProduct';
$new_product_price = 15.1;
if ($stmt = mysqli_prepare($conn, "UPDATE Products SET Price = ? WHERE ProductName = ?")) {
mysqli_stmt_bind_param($stmt, 'ds', $new_product_price, $product_name);
mysqli_stmt_execute($stmt);
printf("Update: Affected %d rows\n", mysqli_stmt_affected_rows($stmt));

//Close the connection
mysqli_stmt_close($stmt);
}

mysqli_close($conn);
?>

Eliminare i dati

Usare il codice seguente per connettersi e leggere i dati usando un'istruzione SQL DELETE.

Il codice usa la classe di estensioni MySQL Improved (mysqli) inclusa in PHP. Il codice usa il metodo mysqli_prepare per creare un'istruzione delete preparata, quindi associa i parametri per la clausola where nell'istruzione usando il metodo mysqli_stmt_bind_param. Il codice esegue l'istruzione usando il metodo mysqli_stmt_execute e successivamente chiude l'istruzione usando il metodo mysqli_stmt_close.

Sostituire i parametri host, username, password e db_name con i valori personalizzati.

<?php
$host = 'myserver4demo.mysql.database.azure.com';
$username = 'myadmin@myserver4demo';
$password = 'your_password';
$db_name = 'your_database';

//Establishes the connection
$conn = mysqli_init();
mysqli_real_connect($conn, $host, $username, $password, $db_name, 3306);
if (mysqli_connect_errno($conn)) {
die('Failed to connect to MySQL: '.mysqli_connect_error());
}

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

//Close the connection
mysqli_close($conn);
?>

Passaggi successivi