Udostępnij za pomocą


Szybki start: nawiązywanie połączeń i wykonywanie zapytań dotyczących danych w usłudze Azure Database for PostgreSQL przy użyciu języka PHP

Ten krótki przewodnik pokazuje, jak połączyć się z usługą Azure Database for PostgreSQL przy użyciu aplikacji PHP. Pokazano w nim, jak używać instrukcji języka SQL w celu wysyłania zapytań o dane oraz wstawiania, aktualizowania i usuwania danych w bazie danych. W krokach w tym artykule założono, że wiesz już, jak programować przy użyciu języka PHP i dopiero zaczynasz pracę z usługą Azure Database for PostgreSQL.

Prerequisites

Ten przewodnik szybkiego startu używa zasobów utworzonych w temacie Tworzenie bazy danych w usłudze Azure Database for PostgreSQL jako punktu początkowego.

Instalowanie języka PHP

Zainstaluj język PHP na serwerze lub utwórz aplikację internetową platformy Azure zawierającą język PHP.

Windows

  • Pobierz wersję języka PHP 7.1.4 nieprzeczytaną (x64)
  • Zainstaluj język PHP i zapoznaj się z podręcznikiem PHP , aby uzyskać dalszą konfigurację
  • Kod używa klasy pgsql (ext/php_pgsql.dll), która jest zawarta w instalacji php.
  • Włączono rozszerzenie pgsql, edytując plik konfiguracji php.ini, który zazwyczaj znajduje się w lokalizacji C:\Program Files\PHP\v7.1\php.ini. Plik konfiguracji powinien zawierać wiersz z tekstem extension=php_pgsql.so. Jeśli nie jest wyświetlany, dodaj tekst i zapisz plik. Jeśli tekst jest obecny, ale skomentowany z prefiksem średnika, odkomentuj tekst, usuwając średnik.

Linux (Ubuntu)

  • Pobierz wersję języka PHP 7.1.4 nieprzeczytaną (x64)
  • Zainstaluj język PHP i zapoznaj się z podręcznikiem PHP , aby uzyskać dalszą konfigurację
  • Kod używa klasy pgsql (php_pgsql.so). Zainstaluj go, uruchamiając polecenie sudo apt-get install php-pgsql.
  • Włączono rozszerzenie pgsql , edytując /etc/php/7.0/mods-available/pgsql.ini plik konfiguracji. Plik konfiguracji powinien zawierać wiersz z tekstem extension=php_pgsql.so. Jeśli nie jest wyświetlany, dodaj tekst i zapisz plik. Jeśli tekst jest obecny, ale skomentowany z prefiksem średnika, usuń komentarz tekstu, usuwając średnik.

macOS

Uzyskaj informacje o połączeniu

Uzyskaj informacje o połączeniu potrzebne do nawiązania połączenia z usługą Azure Database for PostgreSQL. Potrzebna jest w pełni kwalifikowana nazwa serwera i poświadczenia logowania.

  1. Zaloguj się do witryny Azure Portal.
  2. W menu po lewej stronie w witrynie Azure Portal wybierz pozycję Wszystkie zasoby, a następnie wyszukaj utworzony serwer (na przykład mydemoserver).
  3. Wybierz nazwę serwera.
  4. Po przejściu do panelu Przegląd serwera zanotuj nazwę serwera i nazwę logowania administratora serwera. Jeśli zapomnisz hasła, możesz również je zresetować z poziomu tego panelu.

Łączenie i tworzenie tabeli

Użyj poniższego kodu, aby nawiązać połączenie i utworzyć tabelę przy użyciu instrukcji CREATE TABLE SQL, a następnie instrukcji INSERT INTO SQL, aby dodać wiersze do tabeli.

Metoda wywołania kodu pg_connect() służy do nawiązywania połączenia z usługą Azure Database for PostgreSQL. Następnie wywołuje metodę — pg_query() — kilka razy, aby uruchomić kilka poleceń, a pg_last_error(), aby sprawdzić szczegóły, czy wystąpił błąd za każdym razem. Następnie wywołuje metodę pg_close(), aby zamknąć połączenie.

Zastąp parametry $host, $database, $user i $password swoimi wartościami.

<?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);
?>

Odczyt danych

Użyj poniższego kodu, aby nawiązać połączenie i odczytać dane przy użyciu instrukcji SELECT JĘZYKA SQL.

Metoda wywołania kodu pg_connect() służy do nawiązywania połączenia z usługą Azure Database for PostgreSQL. Następnie wywołuje metodę pg_query(), aby uruchomić polecenie SELECT, zachowując wyniki w zestawie wyników i pg_last_error(), aby sprawdzić szczegóły, czy wystąpił błąd. Aby odczytać zestaw wyników, metoda pg_fetch_row() jest wywoływana w pętli, raz w wierszu, a dane wierszy są pobierane w tablicy $rowz jedną wartością danych na kolumnę w każdej pozycji tablicy. Aby zwolnić zestaw wyników, wywoływana jest metoda pg_free_result(). Następnie wywołuje metodę pg_close(), aby zamknąć połączenie.

Zastąp parametry $host, $database, $user i $password swoimi wartościami.

<?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);
?>

Aktualizowanie danych

Użyj poniższego kodu, aby nawiązać połączenie i zaktualizować dane za pomocą instrukcji UPDATE języka SQL.

Metoda wywołania kodu pg_connect() służy do nawiązywania połączenia z usługą Azure Database for PostgreSQL. Następnie wywołuje metodę pg_query(), aby uruchomić polecenie, i pg_last_error(), aby sprawdzić szczegóły, czy wystąpił błąd. Następnie wywołuje metodę pg_close(), aby zamknąć połączenie.

Zastąp $host, $database, $user i $password swoimi wartościami.

<?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);
?>

Usuwanie danych

Użyj następującego kodu, aby nawiązać połączenie i odczytać dane przy użyciu instrukcji DELETE języka SQL.

Metoda wywołania kodu pg_connect() służy do nawiązywania połączenia z usługą Azure Database for PostgreSQL. Następnie wywołuje metodę pg_query(), aby uruchomić polecenie, i pg_last_error(), aby sprawdzić szczegóły, czy wystąpił błąd. Następnie wywołuje metodę pg_close(), aby zamknąć połączenie.

Zastąp $host, $database, $user i $password swoimi wartościami.

<?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);
?>

Uprzątnij zasoby

Aby wyczyścić wszystkie zasoby używane w tym samouczku Quickstart, usuń grupę zasobów za pomocą następującego polecenia:

az group delete \
 --name $AZ_RESOURCE_GROUP \
 --yes