Sdílet prostřednictvím


Rychlý start: Použití PHP k připojení a dotazování dat ve službě 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.

Prerequisites

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áhnout verzi PHP 7.1.4 nepodporující vlákna (x64)
  • Instalace PHP a další konfigurace najdete v příručce k PHP .
  • Kód používá třídu pgsql (ext/php_pgsql.dll), která je součástí instalace PHP.
  • Povolili jsme 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áhnout PHP 7.1.4 nonthread safe (x64) verze
  • Instalace PHP a další konfigurace najdete 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.
  • Rozšíření pgsql povolíte ú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í ke službě Azure Database for PostgreSQL. Potřebujete plně kvalifikovaný název serveru a 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 pomocí příkazu SELECT SQL.

Metoda volání kódu pg_connect() slouží k připojení ke službě Azure Database for PostgreSQL. Potom volá metodu pg_query() ke spuštění příkazu SELECT, zachování výsledků v sadě výsledků a pg_last_error() zkontroluje podrobnosti, pokud došlo k chybě. Pro čtení sady výsledků se metoda pg_fetch_row() volá ve smyčce, jednou pro každý řádek, a data řádků se načtou v poli $row, s jednou hodnotou dat na sloupec v každé pozici pole. Pro uvolnění sady výsledků je volána metoda pg_free_result(). 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/>";

    // 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() ke spuštění příkazu a pg_last_error() zkontroluje podrobnosti, pokud došlo k chybě. Potom volá metodu pg_close() pro zavření připojení.

Nahraďte parametry $host, $database, $user a $password vašimi 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 a načtěte data pomocí příkazu DELETE SQL.

Metoda volání kódu pg_connect() slouží k připojení ke službě Azure Database for PostgreSQL. Potom volá metodu pg_query() ke spuštění příkazu a pg_last_error() zkontroluje podrobnosti, pokud došlo k chybě. Potom volá metodu pg_close() pro zavření připojení.

Nahraďte hodnoty parametrů $host, $database, $user a $password vašimi vlastní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