Rychlý start: Použití PHP k připojení a dotazování dat na flexibilním serveru Azure Database for PostgreSQL

Tento rychlý start ukazuje, jak se připojit k 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 s Azure Database for PostgreSQL.

Požadavky

V tomto rychlém průvodci jsou jako výchozí bod použity prostředky vytvořené ve službě Azure Database for PostgreSQL.

Instalace PHP

Nainstalujte PHP na server nebo vytvořte webovou aplikaci Azure, která obsahuje PHP.

Windows

  • Stáhněte si verzi PHP 7.1.4 non-thread-safe (x64).
  • Nainstalujte PHP a další konfiguraci vyhledejte v příručce k PHP.
  • Kód používá třídu pgsql (ext/php_pgsql.dll), která je součástí instalace PHP.
  • Povolte rozšíření pgsql úpravou konfiguračního souboru php.ini, který se obvykle nachází na C:\Program Files\PHP\v7.1\php.iniadrese . Konfigurační soubor by měl obsahovat řádek s textem extension=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áhněte si verzi PHP 7.1.4 non-thread-safe (x64).
  • Nainstalujte PHP a další konfiguraci vyhledejte v příručce k PHP.
  • Kód používá třídu pgsql (php_pgsql.so). Nainstalujte ho spuštěním sudo apt-get install php-pgsql.
  • Povolte rozšíření pgsql úpravou konfiguračního /etc/php/7.0/mods-available/pgsql.ini souboru. Konfigurační soubor by měl obsahovat řádek s textem extension=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

Získání informací o připojení

Získejte informace o připojení potřebné k připojení k databázi Azure Database for PostgreSQL. Potřebujete plně kvalifikovaný název serveru a ověřovací přihlašovací údaje.

  1. Přihlaste se k webu Azure Portal.
  2. V nabídce vlevo na webu Azure Portal vyberte Všechny prostředky a vyhledejte vytvořený server (například mydemoserver).
  3. Vyberte název serveru.
  4. 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í.

Nahraďte parametry $host, $database, $user a $password svými hodnotami.

<?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.

Kód používá funkci pg_connect() pro připojení k Azure Database for PostgreSQL. Potom volá pg_query() pro spuštění příkazu SELECT a zachování výsledků v sadě výsledků. Pokud dojde k chybě, kód volá pg_last_error() a zkontroluje podrobnosti. Pokud chcete přečíst sadu výsledků, kód volá pg_fetch_row() ve smyčce jednou za řádek. Data řádku se načítají do pole $row, přičemž každá pozice pole obsahuje jednu datovou hodnotu pro jeden sloupec. Pokud chcete sadu výsledků uvolnit, kód volá pg_free_result(). Po dokončení volání kódu pg_close() připojení zavřete.

Nahraďte parametry $host, $database, $user a $password svými hodnotami.

<?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.

Kód používá funkci pg_connect() pro připojení k Azure Database for PostgreSQL. Potom volá pg_query() pro spuštění příkazu. Pokud dojde k chybě, kód volá pg_last_error() a zkontroluje podrobnosti. Po dokončení volání kódu pg_close() připojení zavřete.

Nahraďte parametry $host, $database, $user a $password svými hodnotami.

<?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 k databázi a odstraňte data pomocí příkazu DELETE SQL.

Kód používá funkci pg_connect() pro připojení k Azure Database for PostgreSQL. Potom volá pg_query() pro spuštění příkazu. Pokud dojde k chybě, kód volá pg_last_error() a zkontroluje podrobnosti. Po dokončení volání kódu pg_close() připojení zavřete.

Nahraďte parametry $host, $database, $user a $password svými hodnotami.

<?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čistěte zdroje

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