Rychlý start: Použití PHP k připojení a dotazování dat na flexibilním serveru Azure Database for PostgreSQL
PLATÍ PRO: Flexibilní server Azure Database for PostgreSQL
Tento rychlý start ukazuje připojení ke službě Azure Database for PostgreSQL pomocí aplikace PHP . Ukazuje, jak pomocí příkazů jazyka SQL dotazovat, vkládat, aktualizovat a odstraňovat data v databázi. Kroky v tomto článku předpokládají, že máte zkušenosti s vývojem pomocí PHP a začínáte pracovat se službou Azure Database for PostgreSQL.
Požadavky
Tento rychlý start jako výchozí bod využívá prostředky vytvořené v některém z těchto průvodců:
Nainstalovat PHP.
Nainstalujte PHP na server nebo vytvořte webovou aplikaci Azure, která obsahuje PHP.
Windows
- Stáhnout PHP 7.1.4 nonthread safe (x64) verze
- Nainstalujte PHP a další konfiguraci vyhledejte v příručce k PHP.
- Kód využívá třídu pgsql (ext/php_pgsql.dll), která je součástí instalace PHP.
- Povolte rozšíření pgsql upravením konfiguračního souboru php.ini, který se obvykle nachází v umístění
C:\Program Files\PHP\v7.1\php.ini
. Konfigurační soubor by měl obsahovat řádek s textemextension=php_pgsql.so
. Pokud se nezobrazí, přidejte text a soubor uložte. Pokud je text přítomný, ale okomentován středníkem, zrušte komentář k textu odebráním středníku.
Linux (Ubuntu)
- Stáhnout PHP 7.1.4 nonthread safe (x64) verze
- Nainstalujte PHP a další konfiguraci vyhledejte v příručce k PHP.
- Kód využívá třídu pgsql (php_pgsql.so). Nainstalujte ji spuštěním příkazu
sudo apt-get install php-pgsql
. - Povolte rozšíření pgsql upravením konfiguračního souboru
/etc/php/7.0/mods-available/pgsql.ini
. Konfigurační soubor by měl obsahovat řádek s textemextension=php_pgsql.so
. Pokud se nezobrazí, přidejte text a soubor uložte. Pokud je text přítomný, ale okomentován středníkem, zrušte komentář k textu odebráním středníku.
macOS
- Stáhněte verzi PHP 7.1.4.
- Nainstalujte PHP a další konfiguraci vyhledejte v příručce k PHP.
Získání informací o připojení
Získejte informace o připojení potřebné pro připojení ke službě Azure Database for PostgreSQL. Potřebujete plně kvalifikovaný název serveru a přihlašovací údaje.
- Přihlaste se k webu Azure Portal.
- V nabídce vlevo na webu Azure Portal vyberte Všechny prostředky a vyhledejte vytvořený server (například mydemoserver).
- Vyberte název serveru.
- Na panelu Přehled serveru si poznamenejte Název serveru a Přihlašovací jméno správce serveru. Pokud zapomenete své heslo, můžete ho na tomto panelu také resetovat.
Připojení a vytvoření tabulky
Pomocí následujícího kódu se připojte a vytvořte tabulku pomocí příkazu CREATE TABLE SQL, po kterém následují příkazy INSERT INTO SQL pro přidání řádků do tabulky.
Metoda volání kódu pg_connect() slouží k připojení ke službě Azure Database for PostgreSQL. Potom volá metodu – pg_query() – několikrát ke spuštění několika příkazů a pg_last_error() a zkontroluje podrobnosti, jestli došlo k chybě pokaždé. Potom volá metodu pg_close() pro zavření připojení.
$host
Nahraďte hodnoty , $user
$database
a $password
parametry.
<?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);
?>
Čtení dat
Pomocí následujícího kódu se připojte a načtěte data s využitím příkazu SELECT jazyka SQL.
Metoda volání kódu pg_connect() slouží k připojení ke službě Azure Database for PostgreSQL. Potom volá metodu pg_query() pro spuštění příkazu SELECT, výsledky uloží v sadě výsledků dotazu a v případě, že dojde k chybě, volá metodu pg_last_error() pro kontrolu podrobností. Pro účely čtení sady výsledků dotazu se ve smyčce pro každý řádek jednou volá metoda pg_fetch_row(), a data řádku se načítají v poli $row
, kde je na každé pozici pole jedna hodnota dat na sloupec. Pro uvolnění sady výsledků dotazu se volá metoda pg_free_result(). Potom volá metodu pg_close() pro ukončení připojení.
$host
Nahraďte hodnoty , $user
$database
a $password
parametry.
<?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);
?>
Aktualizace dat
Pomocí následujícího kódu se připojte a aktualizujte data s využitím příkazu UPDATE jazyka SQL.
Metoda volání kódu pg_connect() slouží k připojení ke službě Azure Database for PostgreSQL. Potom volá metodu pg_query() pro spuštění příkazu a v případě, že dojde k chybě, volá metodu pg_last_error() pro kontrolu podrobností. Potom volá metodu pg_close() pro ukončení připojení.
$host
Nahraďte hodnoty , $user
$database
a $password
parametry.
<?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);
?>
Odstranění dat
Pomocí následujícího kódu se připojte a načtěte data s využitím příkazu DELETE jazyka SQL.
Metoda volání kódu pg_connect() slouží k připojení ke službě Azure Database for PostgreSQL. Potom volá metodu pg_query() pro spuštění příkazu a v případě, že dojde k chybě, volá metodu pg_last_error() pro kontrolu podrobností. Potom volá metodu pg_close() pro ukončení připojení.
$host
Nahraďte hodnoty , $user
$database
a $password
parametry.
<?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);
?>
Vyčištění prostředků
Pokud chcete vyčistit všechny prostředky použité během tohoto rychlého startu, odstraňte skupinu prostředků pomocí následujícího příkazu:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes