Použití PHP s flexibilním serverem Azure Database for MySQL
Článek
Tento rychlý start ukazuje, jak se připojit k flexibilnímu serveru Azure Database for MySQL pomocí aplikace PHP . Ukazuje, jak pomocí příkazů jazyka SQL dotazovat, vkládat, aktualizovat a odstraňovat data v databázi. Tento článek předpokládá, že máte zkušenosti s vývojem pomocí PHP a že začínáte pracovat s flexibilním serverem Azure Database for MySQL.
Požadavky
Tento rychlý start jako výchozí bod využívá prostředky vytvořené v některém z těchto průvodců:
Nainstalujte PHP na vlastní server nebo vytvořte webovou aplikaci Azure, která zahrnuje PHP. Informace o vytváření a správě pravidel brány firewall najdete v tématu o vytváření a správě pravidel brány firewall.
Nainstalujte PHP a další konfiguraci vyhledejte v příručce k PHP.
Získání informací o připojení
Získejte informace o připojení potřebné pro připojení k instanci flexibilního serveru Azure Database for MySQL. Potřebujete plně kvalifikovaný název serveru a přihlašovací údaje.
V nabídce vlevo na webu Azure Portal vyberte Všechny prostředky a vyhledejte server, který jste vytvořili (například mydemoserver).
Vyberte název serveru.
Na panelu Přehled serveru si poznamenejte Název serveru a Přihlašovací jméno správce serveru. Pokud zapomenete své heslo, můžete ho na tomto panelu také resetovat.
Připojení k flexibilnímu serveru pomocí protokolu TLS/SSL v PHP
Pokud chcete vytvořit šifrované připojení k flexibilnímu serveru přes protokol TLS/SSL z vaší aplikace, projděte si následující ukázky kódu. Certifikát potřebný ke komunikaci přes PROTOKOL TLS/SSL si můžete stáhnout z https://dl.cacerts.digicert.com/DigiCertGlobalRootCA.crt.pem
$conn = mysqli_init();
mysqli_ssl_set($conn,NULL,NULL, "/var/www/html/DigiCertGlobalRootCA.crt.pem", NULL, NULL);
mysqli_real_connect($conn, 'mydemoserver.mysql.database.azure.com', 'myadmin', 'yourpassword', 'quickstartdb', 3306, MYSQLI_CLIENT_SSL);
if (mysqli_connect_errno($conn)) {
die('Failed to connect to MySQL: '.mysqli_connect_error());
}
Připojení a vytvoření tabulky
Pomocí následujícího kódu se připojte a vytvořte tabulku s využitím příkazu CREATE TABLE jazyka SQL.
Tento kód využívá třídu rozšíření MySQL Improved (mysqli), která je zahrnutá v PHP. Kód volá metody mysqli_init a mysqli_real_connect pro připojení k MySQL. Potom volá metodu mysqli_query pro spuštění dotazu. Potom volá metodu mysqli_close pro ukončení připojení.
<?php
$host = 'mydemoserver.mysql.database.azure.com';
$username = 'myadmin';
$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);
?>
Vložení dat
Pomocí následujícího kódu se připojte a vložte data s využitím příkazu INSERT jazyka SQL.
Tento kód využívá třídu rozšíření MySQL Improved (mysqli), která je zahrnutá v PHP. Kód využívá metodu mysqli_prepare k vytvoření připraveného příkazu Insert a potom vytvoří vazbu parametrů pro každou vloženou hodnotu sloupce pomocí metody mysqli_stmt_bind_param. Kód spustí tento příkaz pomocí metody mysqli_stmt_execute a potom tento příkaz zavře pomocí metody mysqli_stmt_close.
<?php
$host = 'mydemoserver.mysql.database.azure.com';
$username = 'myadmin';
$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)) {f
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);
?>
Čtení dat
Pomocí následujícího kódu se připojte a načtěte data s využitím příkazu SELECT jazyka SQL. Tento kód využívá třídu rozšíření MySQL Improved (mysqli), která je zahrnutá v PHP. Kód používá metodu mysqli_query k provedení příkazu jazyka SQL a metodu mysqli_fetch_assoc k načtení výsledných řádků.
<?php
$host = 'mydemoserver.mysql.database.azure.com';
$username = 'myadmin';
$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);
?>
Aktualizace dat
Pomocí následujícího kódu se připojte a aktualizujte data s využitím příkazu UPDATE jazyka SQL.
Tento kód využívá třídu rozšíření MySQL Improved (mysqli), která je zahrnutá v PHP. Kód využívá metodu mysqli_prepare k vytvoření připraveného příkazu Update a potom vytvoří vazbu parametrů pro každou aktualizovanou hodnotu sloupce pomocí metody mysqli_stmt_bind_param. Kód spustí tento příkaz pomocí metody mysqli_stmt_execute a potom tento příkaz zavře pomocí metody mysqli_stmt_close.
<?php
$host = 'mydemoserver.mysql.database.azure.com';
$username = 'myadmin';
$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);
?>
Odstranění dat
Pomocí následujícího kódu se připojte a načtěte data s využitím příkazu DELETE jazyka SQL.
Tento kód využívá třídu rozšíření MySQL Improved (mysqli), která je zahrnutá v PHP. Kód využívá metodu mysqli_prepare k vytvoření připraveného příkazu Delete a potom vytvoří vazbu parametrů pro klauzuli Where v tomto příkazu pomocí metody mysqli_stmt_bind_param. Kód spustí tento příkaz pomocí metody mysqli_stmt_execute a potom tento příkaz zavře pomocí metody mysqli_stmt_close.
Naučte se vytvářet aplikace, které se připojují k flexibilnímu serveru Azure Database for MySQL a dotazují se na je. Rychlejší vývoj a nasazování inteligentních aplikací díky integraci se službami Aplikace Azure Service, Azure Kubernetes Service, Azure AI Search, Azure OpenAI, Azure DevOps nebo GitHubu
Administer an SQL Server database infrastructure for cloud, on-premises and hybrid relational databases using the Microsoft PaaS relational database offerings.