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

Viktigt!

Azure Database for MySQL – enskild server är på väg att dras tillbaka. Vi rekommenderar starkt att du uppgraderar till en flexibel Azure Database for MySQL-server. Mer information om hur du migrerar till en flexibel Azure Database for MySQL-server finns i Vad händer med 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:

Kommentar

Vi använder MySQLi-biblioteket för att hantera ansluta och fråga servern i den här snabbstarten.

Hämta anslutningsinformation

Du kan hämta information om databasserveranslutningen från Azure-portalen genom att följa dessa steg:

  1. Logga in på Azure-portalen.

  2. Gå till sidan Azure Databases for MySQL. Du kan söka efter och välja Azure Database for MySQL. Find Azure Database for MySQL

  3. Välj din MySQL-server (till exempel mydemoserver).

  4. På sidan Översikt kopierar du det fullständigt kvalificerade servernamnet bredvid Servernamn och administratörsanvändarnamnet bredvid Inloggningsnamnet för serveradministratör. Om du vill kopiera servernamnet eller värdnamnet hovrar du över det och markerar ikonen Kopiera.

Viktigt!

  • Om du har glömt lösenordet kan du återställa lösenordet.
  • Ersätt parametrarna värd, användarnamn, lösenord och db_name med dina egna värden**

Steg 1: Anslut till servern

SSL är aktiverat som standard. Du kan behöva ladda ned DigiCertGlobalRootG2 SSL-certifikatet 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 Virtuella Azure-datorer.
  • mysqli_real_connect för att 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, $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());
}

Steg 2: Skapa en tabell

Använd följande kod för att ansluta. Den här koden anropar:

  • mysqli_query för 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 för att binda parametrarna för varje infogat kolumnvärde.
  • mysqli_stmt_execute
  • mysqli_stmt_close för 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 . Koden använder metoden:

  • mysqli_query köra 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 . Koden använder metoderna:

  • mysqli_prepare för att skapa en förberedd borttagningsinstruk
  • mysqli_stmt_bind_param binder parametrarna
  • mysqli_stmt_execute kör den förberedda borttagningssatsen
  • 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 under den här snabbstarten tar du bort resursgruppen med följande kommando:

az group delete \
    --name $AZ_RESOURCE_GROUP \
    --yes

Nästa steg