Szybki start: nawiązywanie połączeń i wykonywanie zapytań dotyczących danych w usłudze Azure Database for MySQL przy użyciu języka PHP

DOTYCZY: Azure Database for MySQL — pojedynczy serwer

Ważne

Pojedynczy serwer usługi Azure Database for MySQL znajduje się na ścieżce wycofania. Zdecydowanie zalecamy uaktualnienie do serwera elastycznego usługi Azure Database for MySQL. Aby uzyskać więcej informacji na temat migracji do serwera elastycznego usługi Azure Database for MySQL, zobacz Co się dzieje z usługą Azure Database for MySQL — pojedynczy serwer?

Ten przewodnik Szybki start przedstawia sposób nawiązywania połączeń z usługą Azure Database for MySQL przy użyciu aplikacji języka PHP. Pokazano w nim, jak używać instrukcji języka SQL w celu wysyłania zapytań o dane oraz wstawiania, aktualizowania i usuwania danych w bazie danych.

Wymagania wstępne

W tym przewodniku Szybki start potrzebne są następujące elementy:

Uwaga

Używamy biblioteki MySQLi do zarządzania połączeniem i wykonywaniem zapytań dotyczących serwera w tym przewodniku Szybki start.

Pobieranie informacji o połączeniu

Informacje o połączeniu serwera bazy danych można uzyskać w witrynie Azure Portal, wykonując następujące kroki:

  1. Zaloguj się w witrynie Azure Portal.

  2. Przejdź do strony Azure Databases for MySQL. Możesz wyszukać i wybrać pozycję Azure Database for MySQL. Find Azure Database for MySQL

  3. Wybierz serwer MySQL (np . mydemoserver).

  4. Na stronie Przegląd skopiuj w pełni kwalifikowaną nazwę serwera obok pozycji Nazwa serwera i nazwę użytkownika administratora obok pozycji Nazwa logowania administratora serwera. Aby skopiować nazwę serwera lub hosta, umieść na niej wskaźnik myszy i wybierz ikonę Kopiuj.

Ważne

  • Jeśli nie pamiętasz hasła, możesz zresetować hasło.
  • Zastąp parametry hosta, nazwy użytkownika, hasła i db_name własnymi wartościami**

Krok 1. Połączenie na serwer

Protokół SSL jest domyślnie włączony. Aby nawiązać połączenie ze środowiska lokalnego, może być konieczne pobranie certyfikatu SSL DigiCertGlobalRootG2. Ten kod wywołuje następujące wywołania:

  • mysqli_init zainicjować plik MySQLi.
  • mysqli_ssl_set wskazać ścieżkę certyfikatu SSL. Jest to wymagane dla środowiska lokalnego, ale nie jest wymagane w przypadku aplikacji internetowej usługi App Service lub maszyn wirtualnych platformy Azure.
  • mysqli_real_connect nawiązać połączenie z bazą danych MySQL.
  • mysqli_close, aby zamknąć połączenie.
$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());
}

Krok 2. Tworzenie tabeli

Aby nawiązać połączenie, użyj następującego kodu. Ten kod wywołuje następujące wywołania:

  • mysqli_query, aby uruchomić zapytanie.
// 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");
}

Krok 3. Wstawianie danych

Użyj poniższego kodu, aby wstawić dane przy użyciu instrukcji INSERT JĘZYKA SQL. Ten kod używa metod:

  • mysqli_prepare, aby utworzyć przygotowaną instrukcję insert
  • mysqli_stmt_bind_param powiązać parametry dla każdej wstawionej wartości kolumny.
  • mysqli_stmt_execute
  • mysqli_stmt_close, aby zamknąć instrukcję przy użyciu metody
//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);
}

Krok 4. Odczytywanie danych

Użyj następującego kodu, aby odczytać dane przy użyciu instrukcji SELECT JĘZYKA SQL. Kod używa metody :

  • mysqli_query wykonać zapytanie SELECT
  • mysqli_fetch_assoc pobrać wynikowe wiersze.
//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);
 }

Krok 5. Usuwanie danych

Użyj następującego kodu, aby usunąć wiersze przy użyciu instrukcji DELETE JĘZYKA SQL. Kod używa metod:

  • mysqli_prepare, aby utworzyć przygotowaną instrukcję usuwania
  • mysqli_stmt_bind_param wiąże parametry
  • mysqli_stmt_execute wykonuje przygotowaną instrukcję delete
  • mysqli_stmt_close zamyka instrukcję
//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);
}

Czyszczenie zasobów

Aby wyczyścić wszystkie zasoby używane w tym przewodniku Szybki start, usuń grupę zasobów przy użyciu następującego polecenia:

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

Następne kroki