Database di Azure per MySQL: usare PHP per connettersi ed eseguire query sui datiAzure Database for MySQL: Use PHP to connect and query data

Questa guida introduttiva illustra come connettersi a un database di Azure per MySQL usando un'applicazione PHP.This quickstart demonstrates how to connect to an Azure Database for MySQL using a PHP application. Spiega come usare le istruzioni SQL per eseguire query, inserire, aggiornare ed eliminare dati nel database.It shows how to use SQL statements to query, insert, update, and delete data in the database. Questo argomento presuppone che si abbia familiarità con lo sviluppo con PHP, ma non con Database di Azure per MySQL.This topic assumes that you are familiar with development using PHP and that you are new to working with Azure Database for MySQL.

prerequisitiPrerequisites

Questa guida introduttiva usa le risorse create in una delle guide seguenti come punto di partenza:This quickstart uses the resources created in either of these guides as a starting point:

Installare PHPInstall PHP

Installare PHP nel server o creare un'app Web di Azure che includa PHP.Install PHP on your own server, or create an Azure web app that includes PHP.

MacOSMacOS

Linux (Ubuntu)Linux (Ubuntu)

WindowsWindows

Ottenere informazioni di connessioneGet connection information

Ottenere le informazioni di connessione necessarie per connettersi al database di Azure per MySQL.Get the connection information needed to connect to the Azure Database for MySQL. Sono necessari il nome del server completo e le credenziali di accesso.You need the fully qualified server name and login credentials.

  1. Accedere al Portale di Azure.Log in to the Azure portal.
  2. Nel riquadro a sinistra fare clic su Tutte le risorse e cercare il server creato, ad esempio myserver4demo.In the left pane, click All resources, and then search for the server you have created (for example, myserver4demo).
  3. Fare clic sul nome del server.Click the server name.
  4. Selezionare la pagina Proprietà del server e prendere nota dei valori riportati in Nome server e Nome di accesso dell'amministratore server.Select the server's Properties page, and then make a note of the Server name and Server admin login name. Nome del server del database di Azure per MySQLAzure Database for MySQL server name
  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.If you forget your server login information, navigate to the Overview page to view the Server admin login name, and if necessary reset the password.

Connettersi e creare una tabellaConnect and create a table

Usare il codice seguente per connettersi e creare una tabella usando l'istruzione SQL CREATE TABLE.Use the following code to connect and create a table by using CREATE TABLE SQL statement.

Il codice usa la classe di estensioni MySQL Improved (mysqli) inclusa in PHP.The code uses the MySQL Improved extension (mysqli) class included in PHP. Il codice chiama i metodi mysqli_init e mysqli_real_connect per la connessione a MySQL.The code calls methods mysqli_init and mysqli_real_connect to connect to MySQL. Chiama quindi il metodo mysqli_query per eseguire la query.Then it calls method mysqli_query to run the query. Chiama infine il metodo mysqli_close per chiudere la connessione.Then it calls method mysqli_close to close the connection.

Sostituire i parametri host, username, password e db_name con i valori personalizzati.Replace the host, username, password, and db_name parameters with your own values.

<?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 datiInsert data

Usare il codice seguente per connettersi e inserire i dati usando un'istruzione SQL INSERT.Use the following code to connect and insert data by using an INSERT SQL statement.

Il codice usa la classe di estensioni MySQL Improved (mysqli) inclusa in PHP.The code uses the MySQL Improved extension (mysqli) class included 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.The code uses method mysqli_prepare to create a prepared insert statement, then binds the parameters for each inserted column value using method 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.The code runs the statement by using method mysqli_stmt_execute and afterwards closes the statement by using method mysqli_stmt_close.

Sostituire i parametri host, username, password e db_name con i valori personalizzati.Replace the host, username, password, and db_name parameters with your own values.

<?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 datiRead data

Usare il codice seguente per connettersi e leggere i dati usando un'istruzione SQL SELECT.Use the following code to connect and read the data by using a SELECT SQL statement. Il codice usa la classe di estensioni MySQL Improved (mysqli) inclusa in PHP.The code uses the MySQL Improved extension (mysqli) class included in PHP. Il codice usa il metodo mysqli_query per eseguire la query SQL e il metodo mysqli_fetch_assoc per recuperare le righe risultanti.The code uses method mysqli_query perform the sql query and method mysqli_fetch_assoc to fetch the resulting rows.

Sostituire i parametri host, username, password e db_name con i valori personalizzati.Replace the host, username, password, and db_name parameters with your own values.

<?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 datiUpdate data

Usare il codice seguente per connettersi e aggiornare i dati usando un'istruzione SQL UPDATE.Use the following code to connect and update the data by using an UPDATE SQL statement.

Il codice usa la classe di estensioni MySQL Improved (mysqli) inclusa in PHP.The code uses the MySQL Improved extension (mysqli) class included 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.The code uses method mysqli_prepare to create a prepared update statement, then binds the parameters for each updated column value using method 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.The code runs the statement by using method mysqli_stmt_execute and afterwards closes the statement by using method mysqli_stmt_close.

Sostituire i parametri host, username, password e db_name con i valori personalizzati.Replace the host, username, password, and db_name parameters with your own values.

<?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 datiDelete data

Usare il codice seguente per connettersi e leggere i dati usando un'istruzione SQL DELETE.Use the following code to connect and read the data by using a DELETE SQL statement.

Il codice usa la classe di estensioni MySQL Improved (mysqli) inclusa in PHP.The code uses the MySQL Improved extension (mysqli) class included 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.The code uses method mysqli_prepare to create a prepared delete statement, then binds the parameters for the where clause in the statement using method 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.The code runs the statement by using method mysqli_stmt_execute and afterwards closes the statement by using method mysqli_stmt_close.

Sostituire i parametri host, username, password e db_name con i valori personalizzati.Replace the host, username, password, and db_name parameters with your own values.

<?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 successiviNext steps