Quickstart: PHP gebruiken om verbinding te maken en query's uit te voeren op gegevens in Azure Database for MySQL
VAN TOEPASSING OP: Azure Database for MySQL - enkele server
Belangrijk
Azure Database for MySQL enkele server bevindt zich op het buitengebruikstellingspad. We raden u ten zeerste aan een upgrade uit te voeren naar een flexibele Azure Database for MySQL-server. Zie Wat gebeurt er met Azure Database for MySQL Enkele server voor meer informatie over migreren naar Azure Database for MySQL Flexibele server ?
In deze snelstartgids ziet u hoe u met behulp van een PHP-toepassing verbinding maakt met een Azure Database voor MySQL. U ziet hier hoe u SQL-instructies gebruikt om gegevens in de database op te vragen, in te voegen, bij te werken en te verwijderen.
Vereisten
Voor deze quickstart hebt u het volgende nodig:
Een Azure-account met een actief abonnement. Gratis een account maken
Eén Azure Database for MySQL-server maken met behulp van Azure Portal
of Azure CLI, als u er nog geen hebt.Voltooi EEN van de onderstaande acties om connectiviteit in te schakelen, afhankelijk van of u openbare toegang of privétoegang hebt.
Actie Verbindingsmethode Instructiegids Firewallregels configureren Openbaar Portal
CLIService-eindpunt configureren Openbaar Portal
CLIPrivékoppeling configureren Particulier Portal
CLINieuwste PHP-versie installeren voor uw besturingssysteem
Notitie
In deze quickstart gebruiken we de bibliotheek MySQLi om de verbinding te beheren en een query uit te voeren op de server.
Verbindingsgegevens ophalen
U kunt de verbindingsgegevens van de databaseserver ophalen van Azure Portal door de volgende stappen uit te voeren:
Meld u aan bij Azure Portal.
Ga naar de pagina Azure Databases for MySQL. Zoek en selecteer Azure Database for MySQL.
Selecteer de MySQL-server (bijvoorbeeld mydemoserver).
Kopieer op de pagina Overzicht de volledig gekwalificeerde servernaam naast Servernaam en de gebruikersnaam van de beheerder naast Aanmeldingsnaam van serverbeheerder. Als u de servernaam of hostnaam wilt kopiëren, plaatst u de muisaanwijzer erop en selecteert u het pictogram Kopiëren.
Belangrijk
- Als u uw wachtwoord bent vergeten, kunt u het wachtwoord opnieuw instellen.
- Vervang de parameters host, gebruikersnaam, wachtwoord en db_naam door uw eigen waarden**
Stap 1: Verbinding maken naar de server
SSL is standaard ingeschakeld. Mogelijk moet u het SSL-certificaat DigiCertGlobalRootG2 downloaden om verbinding te maken vanuit uw lokale omgeving. Met deze code wordt het volgende aangeroepen:
- mysqli_init om MySQLi te initialiseren.
- mysqli_ssl_set om naar het pad van het SSL-certificaat te verwijzen. Dit is vereist voor uw lokale omgeving, maar is niet vereist voor App Service-web-app of Azure Virtual Machines.
- mysqli_real_connect om verbinding te maken met MySQL.
- mysqli_close om de verbinding te sluiten.
$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());
}
Stap 2: Een tabel maken
Gebruik de volgende code om verbinding te maken. Met deze code wordt het volgende aangeroepen:
- mysqli_query om de query uit te voeren.
// 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");
}
Stap 3: Gegevens invoegen
Gebruik de volgende code om gegevens in te voegen met behulp van de SQL-instructie INSERT. Voor deze code worden de volgende methoden gebruikt:
- mysqli_prepare om een voorbereide INSERT-instructie te maken
- mysqli_stmt_bind_param om de parameters voor elke ingevoegde kolomwaarde te koppelen.
- mysqli_stmt_execute
- mysqli_stmt_close om de instructie te sluiten met behulp van methode
//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);
}
Stap 4: Gegevens lezen
Gebruik de volgende code om de gegevens te lezen door de SQL-instructie SELECT te gebruiken. Voor de code wordt de volgende methode gebruikt:
- mysqli_query om de SELECT-query uit te voeren
- mysqli_fetch_assoc om de resulterende rijen op te halen.
//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);
}
Stap 5: Gegevens verwijderen
Gebruik de volgende code om rijen te verwijderen met de SQL-instructie DELETE. Voor de code worden de volgende methoden gebruikt:
- mysqli_prepare om een voorbereide DELETE-instructie te maken
- mysqli_stmt_bind_param om de parameters te binden
- mysqli_stmt_execute om de voorbereide DELETE-instructie uit te voeren
- mysqli_stmt_close om de instructie te sluiten
//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);
}
Resources opschonen
Als u alle resources wilt opschonen die tijdens deze quickstart zijn gebruikt, verwijdert u de resourcegroep. Dit kan met de volgende opdracht:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes