Schnellstart: Verwenden von PHP zum Herstellen einer Verbindung und zum Abfragen von Daten in Azure Database for MySQL
GILT FÜR: Azure Database for MySQL – Single Server
Wichtig
Azure Database for MySQL Single Server wird eingestellt. Es wird dringend empfohlen, ein Upgrade auf Azure Database for MySQL Flexible Server auszuführen. Weitere Informationen zum Migrieren zu Azure Database for MySQL Flexible Server finden Sie unter Was geschieht mit Azure Database for MySQL Single Server?
Dieser Schnellstart zeigt, wie Sie mit einer PHP-Anwendung eine Verbindung mit einer Azure-Datenbank für MySQL herstellen. Es wird veranschaulicht, wie Sie SQL-Anweisungen zum Abfragen, Einfügen, Aktualisieren und Löschen von Daten in der Datenbank verwenden.
Voraussetzungen
Für diese Schnellstartanleitung benötigen Sie Folgendes:
Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
Erstellen eines Azure Database for MySQL-Einzelservers mithilfe des Azure-Portals
oder der Azure CLI, wenn Sie noch keinen besitzen.Je nachdem, ob Sie öffentlichen oder privaten Zugriff verwenden, führen Sie EINE der folgenden Aktionen aus, um Konnektivität herzustellen:
Action Konnektivitätsmethode Schrittanleitung Konfigurieren von Firewallregeln Öffentlich Portal
BEFEHLSZEILENSCHNITTSTELLE (CLI)Konfigurieren des Dienstendpunkts Öffentlich Portal
BEFEHLSZEILENSCHNITTSTELLE (CLI)Konfigurieren von Private Link Privat Portal
BEFEHLSZEILENSCHNITTSTELLE (CLI)Erstellen einer Datenbank und eines Nicht-Administratorbenutzers
Installieren der aktuellen PHP-Version für das Betriebssystem
Hinweis
In diesem Schnellstart verwenden wir die MySQLi-Bibliothek zum Verwalten von Verbindungsinformationen und für Serverabfragen.
Abrufen von Verbindungsinformationen
Mithilfe der folgenden Schritte können Sie die Verbindungsinformationen für den Datenbankserver aus dem Azure-Portal abrufen:
- Melden Sie sich beim Azure-Portalan.
- Navigieren Sie zur Seite „Azure Database for MySQL“. Sie können nach Azure-Datenbank für MySQL-Server suchen und auswählen.
- Wählen Sie Ihren MySQL-Server (z. B. mydemoserver) aus.
- Kopieren Sie auf der Seite Übersicht den vollqualifizierten Servernamen neben Servername und den Administratorbenutzernamen neben Anmeldename des Serveradministrators. Um den Namen des Servers oder Hosts zu kopieren, zeigen Sie darauf, und wählen Sie das Symbol Kopieren aus.
Wichtig
- Sollten Sie Ihr Kennwort vergessen haben, können Sie das Kennwort zurücksetzen.
- Ersetzen Sie die Parameter host, username, password und db_name durch Ihre eigenen Werte.**
Schritt 1: Herstellen einer Verbindung mit dem Server
SSL ist standardmäßig aktiviert. Möglicherweise müssen Sie das SSL-Zertifikat „DigiCertGlobalRootG2“ herunterladen, um eine Verbindung von der lokalen Umgebung herzustellen. Mit diesem Code wird Folgendes aufgerufen:
- mysqli_init zur Initialisierung von MySQLi
- mysqli_ssl_set zum Verweisen auf den SSL-Zertifikatpfad. Dies ist für Ihre lokale Umgebung erforderlich, aber nicht für die App Service-Web-App oder Azure Virtual Machines.
- mysqli_real_connect zur Verbindung mit MySQL
- mysqli_close zum Schließen der Verbindung
$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());
}
Schritt 2: Erstellen einer Tabelle
Stellen Sie die Verbindung mit dem folgenden Code her. Mit diesem Code wird Folgendes aufgerufen:
- mysqli_query zum Ausführen der Abfrage
// 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");
}
Schritt 3: Einfügen von Daten
Verwenden Sie den folgenden Code, um mit einer SQL-Anweisung des Typs INSERT Daten einzufügen. Für diesen Code werden folgende Methoden verwendet:
- mysqli_prepare zum Erstellen einer vorbereiteten INSERT-Anweisung
- mysqli_stmt_bind_param zum Binden der Parameter für jeden eingefügten Spaltenwert
- mysqli_stmt_execute
- mysqli_stmt_close zum Schließen der Anweisung mithilfe der Methode
//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);
}
Schritt 4: Lesen von Daten
Verwenden Sie den folgenden Code, um die Daten mit einer SQL-Anweisung vom Typ SELECT zu lesen. Für diesen Code werden folgende Methoden verwendet:
- mysqli_query zum Ausführen der SELECT-Abfrage
- mysqli_fetch_assoc zum Abrufen der resultierenden Zeilen
//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);
}
Schritt 5: Löschen von Daten
Verwenden Sie den folgenden Code, um die Daten mit einer SQL-Anweisung vom Typ DELETE zu löschen. Für diesen Code werden folgende Methoden verwendet:
- mysqli_prepare zum Erstellen einer vorbereiteten DELETE-Anweisung
- mysqli_stmt_bind_param zum Binden der Parameter
- mysqli_stmt_execute zum Ausführen der vorbereiteten DELETE-Anweisung
- mysqli_stmt_close zum Schließen der Anweisung
//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);
}
Bereinigen von Ressourcen
Löschen Sie die Ressourcengruppe mit dem folgenden Befehl, um alle in dieser Schnellstartanleitung verwendeten Ressourcen zu bereinigen:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes