PHP használata az Azure Database for MySQL-hez – rugalmas kiszolgáló

A következőkre vonatkozik: Azure Database for MySQL – rugalmas kiszolgáló

Ez a rövid útmutató bemutatja, hogyan csatlakozhat rugalmas Azure Database for MySQL-kiszolgálóhoz PHP-alkalmazással. Bemutatjuk, hogy az SQL-utasítások használatával hogyan kérdezhetők le, illeszthetők be, frissíthetők és törölhetők az adatok az adatbázisban. Ez a cikk feltételezi, hogy ismeri a PHP-vel való fejlesztést, és hogy még nem használta a rugalmas Azure Database for MySQL-kiszolgálót.

Előfeltételek

Ebben a rövid útmutatóban a következő útmutatók valamelyikében létrehozott erőforrásokat használunk kiindulási pontként:

Az ügyfél-munkaállomás előkészítése

  1. Ha privát hozzáféréssel (VNet-integrációval ) hozta létre a rugalmas kiszolgálót, a kiszolgálóval azonos virtuális hálózaton belüli erőforrásból kell csatlakoznia a kiszolgálóhoz. Létrehozhat egy virtuális gépet, és hozzáadhatja a rugalmas kiszolgálóval létrehozott virtuális hálózathoz. Tekintse meg az Azure Database for MySQL rugalmas kiszolgálói virtuális hálózatának létrehozását és kezelését az Azure CLI használatával.

  2. Ha nyilvános hozzáféréssel (engedélyezett IP-címekkel ) hozta létre a rugalmas kiszolgálót, hozzáadhatja a helyi IP-címet a kiszolgáló tűzfalszabályainak listájához. Tekintse meg az Azure Database for MySQL rugalmas kiszolgálói tűzfalszabályok létrehozását és kezelését az Azure CLI használatával.

A PHP telepítése

Telepítse a PHP-t a kiszolgálójára, vagy hozzon létre egy PHP-t tartalmazó Azure-webalkalmazást. A tűzfalszabályok létrehozásának és kezelésének megismeréséhez tekintse meg a tűzfalszabályok létrehozását és kezelését.

  1. Töltse le a PHP 7.1.4-es verzióját.
  2. Telepítse a PHP-t, majd a további konfigurációs lehetőségekért tekintse meg a PHP kézikönyvét.

Kapcsolatadatok lekérése

Szerezze be a rugalmas Azure Database for MySQL-kiszolgálópéldányhoz való csatlakozáshoz szükséges kapcsolati adatokat. Szüksége van a teljes kiszolgálónévre, és be kell jelentkeznie a hitelesítő adatokkal.

  1. Jelentkezzen be az Azure Portalra.
  2. Az Azure Portal bal oldali menüjében válassza a Minden erőforrás lehetőséget, majd keresse meg a létrehozott kiszolgálót (például a mydemoservert).
  3. Válassza ki a kiszolgálónevet.
  4. A kiszolgáló Áttekintés paneléről jegyezze fel a Kiszolgálónevet és a Kiszolgáló-rendszergazdai bejelentkezési nevet. Ha elfelejti a jelszavát, ezen a panelen új jelszót is tud kérni.

Csatlakozás rugalmas kiszolgálóra tLS/SSL használatával PHP-ben

Ha titkosított kapcsolatot szeretne létesíteni a rugalmas kiszolgálóval TLS/SSL protokollon keresztül az alkalmazásból, tekintse meg az alábbi kódmintákat. Letöltheti a TLS/SSL protokollon keresztüli kommunikációhoz szükséges tanúsítványt 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());
}

Csatlakozás és tábla létrehozása

A következő kód segítségével csatlakozzon, és hozzon létre egy táblát a CREATE TABLE SQL-utasítás használatával.

A kód a PHP beépített MySQL Improved extension (mysqli) osztályát használja. A kód meghívja a mysqli_init és mysqli_real_connect metódust a MySQL-hez történő csatlakozáshoz. Ezután a kód meghívja mysqli_query metódust a lekérdezés futtatásához. Végül pedig a mysqli_close meghívásával bontja a kapcsolatot.

A host (gazdagép), a username (felhasználónév), a password (jelszó) és a db_name (adatbázisnév) paramétereket cserélje le a saját értékeire.

<?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);
?>

Adat beszúrása

Az alábbi kód használatával csatlakozhat, és adatokat szúrhat be egy INSERT SQL-utasítás segítségével.

A kód a PHP beépített MySQL Improved extension (mysqli) osztályát használja. A kód a mysqli_prepare metódus használatával létrehoz egy előkészített beillesztési parancsot, majd a mysqli_stmt_bind_param metódus használatával hozzáköti az egyes beillesztett oszlopokhoz a paramétereket. A kód a mysqli_stmt_execute metódus használatával futtatja az utasítást, majd a mysqli_stmt_close metódussal lezárja azt.

A host (gazdagép), a username (felhasználónév), a password (jelszó) és a db_name (adatbázisnév) paramétereket cserélje le a saját értékeire.

<?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());
}

//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);
?>

Adatok beolvasása

A következő kóddal csatlakozhat, és beolvashatja az adatokat a SELECT SQL-utasítással. A kód a PHP beépített MySQL Improved extension (mysqli) osztályát használja. A kód a mysqli_query metódus használatával végrehajtja az SQL-lekérdezést, és a mysqli_fetch_assoc metódussal beolvassa az eredményül kapott sorokat.

A host (gazdagép), a username (felhasználónév), a password (jelszó) és a db_name (adatbázisnév) paramétereket cserélje le a saját értékeire.

<?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);
?>

Adatok frissítése

Az alábbi kód használatával csatlakozhat és végezheti el az adatok módosítását egy UPDATE SQL-utasítás segítségével.

A kód a PHP beépített MySQL Improved extension (mysqli) osztályát használja. A kód a mysqli_prepare metódus használatával létrehoz egy előkészített módosítási parancsot, majd a mysqli_stmt_bind_param metódus használatával hozzáköti az egyes módosított oszlopokhoz a paramétereket. A kód a mysqli_stmt_execute metódus használatával futtatja az utasítást, majd a mysqli_stmt_close metódussal lezárja azt.

A host (gazdagép), a username (felhasználónév), a password (jelszó) és a db_name (adatbázisnév) paramétereket cserélje le a saját értékeire.

<?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);
?>

Adatok törlése

A következő kóddal csatlakozhat, és beolvashatja az adatokat a DELETE SQL-utasítással.

A kód a PHP beépített MySQL Improved extension (mysqli) osztályát használja. A kód a mysqli_prepare metódus használatával létrehoz egy előkészített törlési parancsot, majd hozzáköti a paramétereket a parancs where záradékához a mysqli_stmt_bind_param metódus használatával. A kód a mysqli_stmt_execute metódus használatával futtatja az utasítást, majd a mysqli_stmt_close metódussal lezárja azt.

A host (gazdagép), a username (felhasználónév), a password (jelszó) és a db_name (adatbázisnév) paramétereket cserélje le a saját értékeire.

<?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 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);
}

//Close the connection
mysqli_close($conn);
?>

További lépések