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:

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:

  1. Logga in på Azure Portal.

  2. Gå till sidan Azure Databases for MySQL. Du kan söka efter och välja Azure Database for MySQL. Hitta 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 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:

$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:

// 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:

//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 :

//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 :

//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

Nästa steg

Hittar du inte det du letar efter? Berätta för oss.