Rövid útmutató: Adatok csatlakoztatása és lekérdezése a PHP használatával az Azure Database for MySQL-ben
A következőkre vonatkozik: Azure Database for MySQL – Önálló kiszolgáló
Fontos
Az önálló Azure Database for MySQL-kiszolgáló a kivonási útvonalon van. Határozottan javasoljuk, hogy frissítsen rugalmas Azure Database for MySQL-kiszolgálóra. További információ a rugalmas Azure Database for MySQL-kiszolgálóra való migrálásról: Mi történik az önálló Azure Database for MySQL-kiszolgálóval?
Ebben a gyors útmutatóban azt szemléltetjük, hogy miként lehet PHP-alkalmazás használatával csatlakozni a MySQL-hez készült Azure Database-hez. 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.
Előfeltételek
Ehhez a rövid útmutatóhoz a következőkre van szüksége:
Egy Azure-fiók, aktív előfizetéssel. Fiók ingyenes létrehozása.
Önálló Azure Database for MySQL-kiszolgáló létrehozása az Azure Portal használatával
vagy az Azure CLI-t , ha nincs ilyenje.Attól függően, hogy nyilvános vagy privát hozzáférést használ-e, végezze el az alábbi műveletek egyikét a kapcsolat engedélyezéséhez.
Művelet Kapcsolati mód Útmutató Tűzfalszabályok konfigurálása Nyilvános Portál
Parancssori felületSzolgáltatásvégpont konfigurálása Nyilvános Portál
Parancssori felületPrivát hivatkozás konfigurálása Személyes Portál
Parancssori felületAz operációs rendszer legújabb PHP-verziójának telepítése
Feljegyzés
Ebben a rövid útmutatóban a MySQLi-kódtárat használjuk a csatlakozás kezeléséhez és a kiszolgáló lekérdezéséhez.
Kapcsolatadatok lekérése
Az adatbázis-kiszolgáló kapcsolati adatait az Alábbi lépések végrehajtásával szerezheti be az Azure Portalról:
- Jelentkezzen be az Azure Portalra.
- Lépjen az Azure Databases for MySQL lapra. Megkeresheti és kiválaszthatja az Azure Database for MySQL-kiszolgálókat.
- Válassza ki a MySQL-kiszolgálót (például a mydemoservert).
- Az Áttekintés lapon másolja ki a kiszolgáló neve melletti teljes kiszolgálónevet és a kiszolgáló rendszergazdai bejelentkezési neve melletti rendszergazdai felhasználónevet. A kiszolgáló vagy a gazdagép nevének másolásához mutasson rá, és válassza a Másolás ikont.
Fontos
- Ha elfelejtette a jelszavát, alaphelyzetbe állíthatja a jelszót.
- Cserélje le a gazdagépet, a felhasználónevet, a jelszót és a db_name paramétereket a saját értékeire**
1. lépés: Csatlakozás a kiszolgálóhoz
Az SSL alapértelmezés szerint engedélyezve van. Előfordulhat, hogy le kell töltenie a DigiCertGlobalRootG2 SSL-tanúsítványt a helyi környezetből való csatlakozáshoz. Ez a kód a következő hívásokat hívja:
- mysqli_init a MySQLi inicializálásához.
- mysqli_ssl_set az SSL-tanúsítvány elérési útjára mutat. Ez a helyi környezethez szükséges, de nem szükséges az App Service Web Apphoz vagy az Azure-beli virtuális gépekhez.
- mysqli_real_connect csatlakozni a MySQL-hez.
- mysqli_close a kapcsolat bezárásához.
$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());
}
2. lépés: Táblázat létrehozása
A csatlakozáshoz használja az alábbi kódot. Ez a kód a következő hívásokat hívja:
// 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");
}
3. lépés: Adatok beszúrása
Az alábbi kóddal szúrhat be adatokat egy INSERT SQL-utasítással. Ez a kód a következő módszereket használja:
- mysqli_prepare egy előkészített beszúrási utasítás létrehozásához
- mysqli_stmt_bind_param az egyes beszúrt oszlopértékek paramétereinek kötéséhez.
- mysqli_stmt_execute
- mysqli_stmt_close az utasítás metódussal történő bezárásához
//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);
}
4. lépés: Adatok olvasása
Az adatok select SQL utasítással való beolvasásához használja az alábbi kódot. A kód a következő módszert használja:
- mysqli_query a SELECT lekérdezés végrehajtása
- mysqli_fetch_assoc az eredményként kapott sorok beolvasásához.
//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);
}
5. lépés: Adatok törlése
Használja a következő kódtörlés sorait egy DELETE SQL utasítással. A kód a következő metódusokat használja:
- mysqli_prepare egy előkészített törlési utasítás létrehozásához
- mysqli_stmt_bind_param köti a paramétereket
- mysqli_stmt_execute végrehajtja az előkészített törlési utasítást
- mysqli_stmt_close zárja be az utasítást
//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);
}
Az erőforrások eltávolítása
A rövid útmutató során használt összes erőforrás törléséhez törölje az erőforráscsoportot az alábbi paranccsal:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes