Snabbstart: Använda PHP för att ansluta och fråga efter data i Azure Database for MySQL
GÄLLER FÖR:
Azure Database for MySQL – enskild server
Den här snabbstarten visar hur du ansluter till en Azure Database för MySQL med hjälp av ett PHP-program. Den visar hur du använder SQL-instruktioner för att fråga, infoga, uppdatera och ta bort data i databasen.
Förutsättningar
För den här snabbstarten behöver du:
Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
Skapa en Azure Database for MySQL enskild server med Azure Portal
eller Azure CLI om du inte har någon.Beroende på om du använder offentlig eller privat åtkomst kan du utföra någon av åtgärderna nedan för att aktivera anslutning.
Åtgärd Anslutningsmetod Instruktionsguide Konfigurera brandväggsregler Offentliga Portal
CLIKonfigurera tjänstslutpunkt Offentliga Portal
CLIKonfigurera privat länk Privat Portal
CLIInstallera den senaste PHP-versionen för ditt operativsystem
Anteckning
Vi använder MySQLi-biblioteket för att hantera anslutning och fråga servern i den här snabbstarten.
Hämta anslutningsinformation
Du kan hämta anslutningsinformationen för databasservern från Azure Portal följande steg:
Logga in på Azure Portal.
Gå till sidan Azure Databases for MySQL. Du kan söka efter och välja Azure Database for MySQL.
Välj din MySQL-server (till exempel mydemoserver).
På sidan Översikt kopierar du det fullständigt kvalificerade servernamnet bredvid Servernamn och administratörsanvändarnamnet bredvid Inloggningsnamn för serveradministratör. Om du vill kopiera servernamnet eller värdnamnet hovrar du över det och väljer ikonen Kopiera.
Viktigt
- Om du har glömt ditt lösenord kan du återställa lösenordet.
- Ersätt värden, användarnamnet, lösenordet och db_name med dina egna värden**
Steg 1: Anslut till servern
SSL är aktiverat som standard. Du kan behöva ladda ned SSL-certifikatet DigiCertGlobalRootG2 för att ansluta från din lokala miljö. Den här koden anropar:
- mysqli_init initiera MySQLi.
- mysqli_ssl_set att peka på SSL-certifikatsökvägen. Detta krävs för din lokala miljö men krävs inte för App Service Web App eller Azure Virtual Machines.
- mysqli_real_connect ansluta till MySQL.
- mysqli_close för att stänga anslutningen.
$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, 'mydemoserver.mysql.database.azure.com', 'myadmin@mydemoserver', 'yourpassword', 'quickstartdb', 3306, NULL, MYSQLI_CLIENT_SSL);
//If connection failed, show the error
if (mysqli_connect_errno())
{
die('Failed to connect to MySQL: '.mysqli_connect_error());
}
Har du problem? Berätta för oss
Steg 2: Skapa en tabell
Använd följande kod för att ansluta. Den här koden anropar:
- mysqli_query att köra frågan.
// 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");
}
Steg 3: Infoga data
Använd följande kod för att infoga data med hjälp av en INSERT SQL-instruktion. Den här koden använder metoderna:
- mysqli_prepare för att skapa en förberedd insert-instruktion
- mysqli_stmt_bind_param att binda parametrarna för varje infogade kolumnvärde.
- mysqli_stmt_execute
- mysqli_stmt_close att stänga -instruktionen med hjälp av metoden
//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);
}
Steg 4: Läsa data
Använd följande kod för att läsa data med hjälp av en SELECT SQL-instruktion. I koden används metoden :
- mysqli_query kör SELECT-frågan
- mysqli_fetch_assoc för att hämta de resulterande raderna.
//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);
}
Steg 5: Ta bort data
Använd följande rader för att ta bort kod med hjälp av en DELETE SQL-instruktion. I koden används metoderna :
- mysqli_prepare för att skapa en förberedd delete-instruktion
- mysqli_stmt_bind_param binder parametrarna
- mysqli_stmt_execute kör den förberedda delete-instruktionen
- mysqli_stmt_close stänger -instruktionen
//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);
}
Rensa resurser
Om du vill rensa alla resurser som används i den här snabbstarten tar du bort resursgruppen med följande kommando:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes