Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
VAN TOEPASSING OP: Azure Database voor PostgreSQL-flexibele server
Deze quickstart laat zien hoe u verbinding maakt met een Azure Database for PostgreSQL met behulp van een PHP-toepassing . 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. In de stappen in dit artikel wordt ervan uitgegaan dat u bekend bent met het ontwikkelen met PHP en geen ervaring hebt met het werken met Azure Database for PostgreSQL.
Vereisten
In deze quickstart worden de resources gebruikt die zijn gecreëerd in de Azure Database for PostgreSQL flexibele server maken als uitgangspunt.
PHP installeren
Installeer PHP op uw server of maak een Azure-web-app die PHP bevat.
Windows
- Download niet-draadveilige versie van PHP 7.1.4 (x64)
- PHP installeren en de PHP-handleiding bekijken voor verdere configuratie
- In de code wordt de klasse pgsql (ext/php_pgsql.dll) gebruikt; deze is opgenomen in de PHP-installatie.
- Schakel de pgsql-extensie in door het configuratiebestand php.ini te bewerken. Dit staat gewoonlijk in
C:\Program Files\PHP\v7.1\php.ini
. Het configuratiebestand moet een regel bevatten met de tekstextension=php_pgsql.so
. Als dit niet wordt weergegeven, voegt u de tekst toe en slaat u het bestand op. Als de tekst aanwezig is maar een opmerking met een puntkommavoorvoegsel bevat, verwijdert u de opmerking bij de tekst door de puntkomma te verwijderen.
Linux (Ubuntu)
- PHP 7.1.4 niet-thread safe (x64) versie downloaden
- PHP installeren en de PHP-handleiding bekijken voor verdere configuratie
- In de code wordt de pgsql klasse (php_pgsql.so) gebruikt. Installeer deze door
sudo apt-get install php-pgsql
uit te voeren. - Schakel de pgsql-extensie in door het
/etc/php/7.0/mods-available/pgsql.ini
configuratiebestand te bewerken. Het configuratiebestand moet een regel bevatten met de tekstextension=php_pgsql.so
. Als dit niet wordt weergegeven, voegt u de tekst toe en slaat u het bestand op. Als de tekst aanwezig is maar een opmerking met een puntkommavoorvoegsel bevat, verwijdert u de opmerking bij de tekst door de puntkomma te verwijderen.
macOS
- PHP versie 7.1.4 downloaden
- PHP installeren en de PHP-handleiding bekijken voor verdere configuratie
Verbindingsgegevens ophalen
Haal de verbindingsgegevens op die nodig zijn om verbinding te maken met de Azure Database voor PostgreSQL. U hebt de volledig gekwalificeerde servernaam en aanmeldingsreferenties nodig.
- Meld u aan bij Azure Portal.
- Selecteer in het linkermenu in Azure Portal alle resources en zoek vervolgens naar de gemaakte server (zoals mydemoserver).
- Selecteer de servernaam.
- Ga naar het venster Overzicht van de server en noteer de Servernaam en de Aanmeldingsnaam van de serverbeheerder. Als u uw wachtwoord vergeet, kunt u het wachtwoord in dit venster opnieuw instellen.
Verbinding maken en een tabel maken
Gebruik de volgende code om verbinding te maken en een tabel te maken met de INSTRUCTIE CREATE TABLE SQL, gevolgd door INSERT INTO SQL-instructies om rijen toe te voegen aan de tabel.
De code-aanroepmethode pg_connect() wordt gebruikt om verbinding te maken met de Azure Database for PostgreSQL. Vervolgens wordt de methode - pg_query() - meerdere keren aangeroepen om verschillende opdrachten uit te voeren en pg_last_error() om de details te controleren als er elke keer een fout is opgetreden. Vervolgens wordt methode pg_close() aangeroepen om de verbinding te sluiten.
Vervang de parameters $host
, $database
, $user
en $password
door uw waarden.
<?php
// Initialize connection variables.
$host = "mydemoserver.postgres.database.azure.com";
$database = "mypgsqldb";
$user = "mylogin@mydemoserver";
$password = "<server_admin_password>";
// Initialize connection object.
$connection = pg_connect("host=$host dbname=$database user=$user password=$password")
or die("Failed to create connection to database: ". pg_last_error(). "<br/>");
print "Successfully created a connection to the database.<br/>";
// Drop the previous table of the same name if one exists.
$query = "DROP TABLE IF EXISTS inventory;";
pg_query($connection, $query)
or die("Encountered an error when executing given sql statement: ". pg_last_error(). "<br/>");
print "Finished dropping table (if existed).<br/>";
// Create table.
$query = "CREATE TABLE inventory (id serial PRIMARY KEY, name VARCHAR(50), quantity INTEGER);";
pg_query($connection, $query)
or die("Encountered an error when executing given sql statement: ". pg_last_error(). "<br/>");
print "Finished creating table.<br/>";
// Insert some data into the table.
$name = '\'banana\'';
$quantity = 150;
$query = "INSERT INTO inventory (name, quantity) VALUES ($name, $quantity);";
pg_query($connection, $query)
or die("Encountered an error when executing given sql statement: ". pg_last_error(). "<br/>");
$name = '\'orange\'';
$quantity = 154;
$query = "INSERT INTO inventory (name, quantity) VALUES ($name, $quantity);";
pg_query($connection, $query)
or die("Encountered an error when executing given sql statement: ". pg_last_error(). "<br/>");
$name = '\'apple\'';
$quantity = 100;
$query = "INSERT INTO inventory (name, quantity) VALUES ($name, $quantity);";
pg_query($connection, $query)
or die("Encountered an error when executing given sql statement: ". pg_last_error()). "<br/>";
print "Inserted 3 rows of data.<br/>";
// Closing connection
pg_close($connection);
?>
Gegevens lezen
Gebruik de volgende code om verbinding te maken en de gegevens te lezen met de SQL-instructie SELECT.
De code-aanroepmethode pg_connect() wordt gebruikt om verbinding te maken met de Azure Database voor PostgreSQL. Vervolgens wordt methode pg_query() aangeroepen om de SELECT-opdracht uit te voeren, waarbij de resultaten worden vastgehouden in een resultatenset, en wordt pg_last_error() uitgevoerd om de details te controleren als er een fout is opgetreden. Om de resultatenset te lezen, wordt methode pg_fetch_row() in een lus aangeroepen, eenmaal per rij, en worden de rijgegevens opgehaald in een matrix $row
, met één waarde per kolom in elke matrixpositie. Methode pg_free_result() wordt aangeroepen om de resultatenset vrij te geven. Vervolgens wordt methode pg_close() aangeroepen om de verbinding te sluiten.
Vervang de parameters $host
, $database
, $user
, en $password
door uw waarden.
<?php
// Initialize connection variables.
$host = "mydemoserver.postgres.database.azure.com";
$database = "mypgsqldb";
$user = "mylogin@mydemoserver";
$password = "<server_admin_password>";
// Initialize connection object.
$connection = pg_connect("host=$host dbname=$database user=$user password=$password")
or die("Failed to create connection to database: ". pg_last_error(). "<br/>");
print "Successfully created a connection to the database. <br/>";
// Perform some SQL queries over the connection.
$query = "SELECT * from inventory";
$result_set = pg_query($connection, $query)
or die("Encountered an error when executing given sql statement: ". pg_last_error(). "<br/>");
while ($row = pg_fetch_row($result_set))
{
print "Data row = ($row[0], $row[1], $row[2]). <br/>";
}
// Free result_set
pg_free_result($result_set);
// Closing connection
pg_close($connection);
?>
Gegevens bijwerken
Gebruik de volgende code om verbinding te maken en de gegevens bij te werken met de SQL-instructie UPDATE.
De methode pg_connect() wordt gebruikt om verbinding te maken met de Azure Database for PostgreSQL. Vervolgens wordt methode pg_query() een aantal keer aangeroepen om een opdracht uit te voeren, en wordt pg_last_error() aangeroepen om de details te controleren als er een fout is opgetreden. Vervolgens wordt methode pg_close() aangeroepen om de verbinding te sluiten.
Vervang de parameters $host
, $database
, $user
en $password
door uw waarden.
<?php
// Initialize connection variables.
$host = "mydemoserver.postgres.database.azure.com";
$database = "mypgsqldb";
$user = "mylogin@mydemoserver";
$password = "<server_admin_password>";
// Initialize connection object.
$connection = pg_connect("host=$host dbname=$database user=$user password=$password")
or die("Failed to create connection to database: ". pg_last_error(). ".<br/>");
Print "Successfully created a connection to the database. <br/>";
// Modify some data in a table.
$new_quantity = 200;
$name = '\'banana\'';
$query = "UPDATE inventory SET quantity = $new_quantity WHERE name = $name;";
pg_query($connection, $query)
or die("Encountered an error when executing given sql statement: ". pg_last_error(). ".<br/>");
print "Updated 1 row of data. </br>";
// Closing connection
pg_close($connection);
?>
Gegevens verwijderen
Gebruik de volgende code om verbinding te maken en de gegevens te lezen met de SQL-instructie DELETE.
De code-aanroepmethode pg_connect() wordt gebruikt om verbinding te maken met de Azure Database for PostgreSQL. Vervolgens wordt methode pg_query() een aantal keer aangeroepen om een opdracht uit te voeren, en wordt pg_last_error() aangeroepen om de details te controleren als er een fout is opgetreden. Vervolgens wordt methode pg_close() aangeroepen om de verbinding te sluiten.
Vervang de parameters $host
, $database
, $user
en $password
door uw waarden.
<?php
// Initialize connection variables.
$host = "mydemoserver.postgres.database.azure.com";
$database = "mypgsqldb";
$user = "mylogin@mydemoserver";
$password = "<server_admin_password>";
// Initialize connection object.
$connection = pg_connect("host=$host dbname=$database user=$user password=$password")
or die("Failed to create connection to database: ". pg_last_error(). ". </br>");
print "Successfully created a connection to the database. <br/>";
// Delete some data from a table.
$name = '\'orange\'';
$query = "DELETE FROM inventory WHERE name = $name;";
pg_query($connection, $query)
or die("Encountered an error when executing given sql statement: ". pg_last_error(). ". <br/>");
print "Deleted 1 row of data. <br/>";
// Closing connection
pg_close($connection);
?>
Middelen 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
Gerelateerde inhoud
- Flexibele Azure Database for PostgreSQL-server beheren.
- Quickstart: Python gebruiken om verbinding te maken met en query's uit te voeren op gegevens van een flexibele Azure Database for PostgreSQL-server.
- Quickstart: Java gebruiken om verbinding te maken met en query's uit te voeren op gegevens van een flexibele Azure Database for PostgreSQL-server.
- Quickstart: .NET (C#) gebruiken om verbinding te maken met en query's uit te voeren op gegevens van een flexibele Azure Database for PostgreSQL-server.
- Quickstart: Go-taal gebruiken om verbinding te maken met en query's uit te voeren op gegevens van een flexibele Azure Database for PostgreSQL-server.
- Quickstart: Azure CLI gebruiken om verbinding te maken met en query's uit te voeren op gegevens van een flexibele Azure Database for PostgreSQL-server.
- Quickstart: Gegevens importeren uit een flexibele Azure Database for PostgreSQL-server in Power BI.