Azure Database for MySQL: Verwenden von PHP zum Herstellen einer Verbindung und Abfragen von DatenAzure Database for MySQL: Use PHP to connect and query data

Dieser Schnellstart zeigt, wie Sie mit einer PHP-Anwendung eine Verbindung mit einer Azure-Datenbank für MySQL herstellen.This quickstart demonstrates how to connect to an Azure Database for MySQL using a PHP application. Es wird veranschaulicht, wie Sie SQL-Anweisungen zum Abfragen, Einfügen, Aktualisieren und Löschen von Daten in der Datenbank verwenden.It shows how to use SQL statements to query, insert, update, and delete data in the database. Bei den Schritten in diesem Artikel wird davon ausgegangen, dass Sie mit der PHP-Entwicklung vertraut sind und noch keine Erfahrung mit Azure Database for MySQL haben.This topic assumes that you are familiar with development using PHP and that you are new to working with Azure Database for MySQL.

VoraussetzungenPrerequisites

In diesem Schnellstart werden die Ressourcen, die in den folgenden Anleitungen erstellt wurden, als Startpunkt verwendet:This quickstart uses the resources created in either of these guides as a starting point:

Installieren von PHPInstall PHP

Installieren Sie PHP auf Ihrem eigenen Server, oder erstellen Sie eine Azure-Web-App, die PHP enthält.Install PHP on your own server, or create an Azure web app that includes PHP.

macOSMacOS

Linux (Ubuntu)Linux (Ubuntu)

WindowsWindows

Abrufen von VerbindungsinformationenGet connection information

Rufen Sie die Verbindungsinformationen ab, die zum Herstellen einer Verbindung mit der Azure SQL-Datenbank für MySQL erforderlich sind.Get the connection information needed to connect to the Azure Database for MySQL. Sie benötigen den vollqualifizierten Servernamen und die Anmeldeinformationen.You need the fully qualified server name and login credentials.

  1. Melden Sie sich beim Azure-Portalan.Log in to the Azure portal.
  2. Klicken Sie im Azure-Portal im linken Menü auf Alle Ressourcen, und suchen Sie dann nach dem soeben erstellten Server, z.B. mydemoserver.From the left-hand menu in Azure portal, click All resources, and then search for the server you have created (such as mydemoserver).
  3. Klicken Sie auf den Servernamen.Click the server name.
  4. Notieren Sie sich im Bereich Übersicht des Servers den Servernamen und den Anmeldenamen des Serveradministrators.From the server's Overview panel, make a note of the Server name and Server admin login name. Wenn Sie Ihr Kennwort vergessen haben, können Sie es in diesem Bereich auch zurücksetzen.If you forget your password, you can also reset the password from this panel. Servername für Azure-Datenbank für MySQLAzure Database for MySQL server name

Herstellen einer Verbindung und Erstellen einer TabelleConnect and create a table

Verwenden Sie den folgenden Code, um mit der SQL-Anweisung des Typs CREATE TABLE eine Verbindung herzustellen und eine Tabelle zu erstellen.Use the following code to connect and create a table by using CREATE TABLE SQL statement.

Im Code wird die Klasse mit der verbesserten MySQL-Erweiterung (mysqli) verwendet, die in PHP enthalten ist.The code uses the MySQL Improved extension (mysqli) class included in PHP. Im Code werden die Methoden mysqli_init und mysqli_real_connect aufgerufen, um eine Verbindung mit MySQL herzustellen.The code calls methods mysqli_init and mysqli_real_connect to connect to MySQL. Anschließend wird die mysqli_query-Methode aufgerufen, um die Abfrage auszuführen.Then it calls method mysqli_query to run the query. Als Nächstes wird die mysqli_close-Methode aufgerufen, um die Verbindung zu schließen.Then it calls method mysqli_close to close the connection.

Ersetzen Sie die Parameter „host“, „username“, „password“ und „db_name“ durch Ihre eigenen Werte.Replace the host, username, password, and db_name parameters with your own values.

<?php
$host = 'mydemoserver.mysql.database.azure.com';
$username = 'myadmin@mydemoserver';
$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);
?>

Einfügen von DatenInsert data

Verwenden Sie den folgenden Code, um eine Verbindung herzustellen und mit einer SQL-Anweisung des Typs INSERT Daten einzufügen.Use the following code to connect and insert data by using an INSERT SQL statement.

Im Code wird die Klasse mit der verbesserten MySQL-Erweiterung (mysqli) verwendet, die in PHP enthalten ist.The code uses the MySQL Improved extension (mysqli) class included in PHP. Im Code wird die mysqli_prepare-Methode verwendet, um eine vorbereitete INSERT-Anweisung zu erstellen, und anschließend werden die Parameter für jeden eingefügten Spaltenwert mit der mysqli_stmt_bind_param-Methode gebunden.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. Im Code wird die Anweisung mit der mysqli_stmt_execute-Methode ausgeführt, und anschließend wird die Anweisung mit der mysqli_stmt_close-Methode geschlossen.The code runs the statement by using method mysqli_stmt_execute and afterwards closes the statement by using method mysqli_stmt_close.

Ersetzen Sie die Parameter „host“, „username“, „password“ und „db_name“ durch Ihre eigenen Werte.Replace the host, username, password, and db_name parameters with your own values.

<?php
$host = 'mydemoserver.mysql.database.azure.com';
$username = 'myadmin@mydemoserver';
$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);
?>

Lesen von DatenRead data

Verwenden Sie den folgenden Code, um die Daten mit einer SQL-Anweisung des Typs SELECT zu verbinden und zu lesen.Use the following code to connect and read the data by using a SELECT SQL statement. Im Code wird die Klasse mit der verbesserten MySQL-Erweiterung (mysqli) verwendet, die in PHP enthalten ist.The code uses the MySQL Improved extension (mysqli) class included in PHP. Im Code wird die mysqli_query-Methode zum Durchführen der SQL-Abfrage genutzt, und mit der mysqli_fetch_assoc-Methode werden die sich ergebenden Zeilen abgerufen.The code uses method mysqli_query perform the sql query and method mysqli_fetch_assoc to fetch the resulting rows.

Ersetzen Sie die Parameter „host“, „username“, „password“ und „db_name“ durch Ihre eigenen Werte.Replace the host, username, password, and db_name parameters with your own values.

<?php
$host = 'mydemoserver.mysql.database.azure.com';
$username = 'myadmin@mydemoserver';
$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);
?>

Aktualisieren von DatenUpdate data

Verwenden Sie den folgenden Code, um die Daten mit einer SQL-Anweisung des Typs UPDATE zu verbinden und zu aktualisieren.Use the following code to connect and update the data by using an UPDATE SQL statement.

Im Code wird die Klasse mit der verbesserten MySQL-Erweiterung (mysqli) verwendet, die in PHP enthalten ist.The code uses the MySQL Improved extension (mysqli) class included in PHP. Im Code wird die mysqli_prepare-Methode verwendet, um eine vorbereitete UPDATE-Anweisung zu erstellen, und anschließend werden die Parameter für jeden aktualisierten Spaltenwert mit der mysqli_stmt_bind_param-Methode gebunden.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. Im Code wird die Anweisung mit der mysqli_stmt_execute-Methode ausgeführt, und anschließend wird die Anweisung mit der mysqli_stmt_close-Methode geschlossen.The code runs the statement by using method mysqli_stmt_execute and afterwards closes the statement by using method mysqli_stmt_close.

Ersetzen Sie die Parameter „host“, „username“, „password“ und „db_name“ durch Ihre eigenen Werte.Replace the host, username, password, and db_name parameters with your own values.

<?php
$host = 'mydemoserver.mysql.database.azure.com';
$username = 'myadmin@mydemoserver';
$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);
?>

Löschen von DatenDelete data

Verwenden Sie den folgenden Code, um die Daten mit einer SQL-Anweisung des Typs DELETE zu verbinden und zu lesen.Use the following code to connect and read the data by using a DELETE SQL statement.

Im Code wird die Klasse mit der verbesserten MySQL-Erweiterung (mysqli) verwendet, die in PHP enthalten ist.The code uses the MySQL Improved extension (mysqli) class included in PHP. Im Code wird die mysqli_prepare-Methode verwendet, um eine vorbereitete DELETE-Anweisung zu erstellen, und anschließend werden die Parameter für die WHERE-Klausel in der Anweisung mit der mysqli_stmt_bind_param-Methode gebunden.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. Im Code wird die Anweisung mit der mysqli_stmt_execute-Methode ausgeführt, und anschließend wird die Anweisung mit der mysqli_stmt_close-Methode geschlossen.The code runs the statement by using method mysqli_stmt_execute and afterwards closes the statement by using method mysqli_stmt_close.

Ersetzen Sie die Parameter „host“, „username“, „password“ und „db_name“ durch Ihre eigenen Werte.Replace the host, username, password, and db_name parameters with your own values.

<?php
$host = 'mydemoserver.mysql.database.azure.com';
$username = 'myadmin@mydemoserver';
$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);
?>

Nächste SchritteNext steps