Dela via


Snabbstart: Använda PHP för att ansluta och fråga efter data i Azure Database for PostgreSQL

Den här snabbstarten visar hur du ansluter till en Azure Database for PostgreSQL med hjälp av ett PHP-program . Den visar hur du använder SQL-instruktioner för att fråga, infoga, uppdatera och ta bort data i databasen. Stegen i den här artikeln förutsätter att du är bekant med att utveckla med PHP och är nybörjare på att arbeta med Azure Database for PostgreSQL.

Prerequisites

Den här snabbstarten använder de resurser som skapats i Skapa en Azure Database for PostgreSQL som utgångspunkt.

Installera PHP

Installera PHP på servern eller skapa en Azure-webbapp som innehåller PHP.

Windows

  • Ladda ned PHP 7.1.4 icke-korrekturssäker version (x64)
  • Installera PHP och se PHP-manualen för ytterligare konfiguration
  • Koden använder pgsql-klassen (ext/php_pgsql.dll) som ingår i PHP-installationen.
  • Aktiverade pgsql-tillägget genom att redigera php.ini konfigurationsfilen, som vanligtvis finns på C:\Program Files\PHP\v7.1\php.ini. Konfigurationsfilen ska innehålla en rad med texten extension=php_pgsql.so. Om den inte visas lägger du till texten och sparar filen. Om texten finns men kommenteras med ett semikolonprefix avkommenteras texten genom att semikolonet tas bort.

Linux (Ubuntu)

  • Ladda ned PHP 7.1.4 icke-korrekturssäker version (x64)
  • Installera PHP och se PHP-manualen för ytterligare konfiguration
  • Koden använder klassen pgsql (php_pgsql.so). Installera den genom att köra sudo apt-get install php-pgsql.
  • Aktiverade pgsql-tillägget genom att redigera konfigurationsfilen /etc/php/7.0/mods-available/pgsql.ini . Konfigurationsfilen ska innehålla en rad med texten extension=php_pgsql.so. Om den inte visas lägger du till texten och sparar filen. Om texten finns men kommenteras med ett semikolonprefix avkommenteras texten genom att semikolonet tas bort.

macOS

Hämta anslutningsinformation

Hämta den anslutningsinformation som behövs för att ansluta till Azure Database for PostgreSQL. Du behöver det fullständiga servernamnet och inloggningsuppgifter.

  1. Logga in på Azure-portalen.
  2. På den vänstra menyn i Azure-portalen väljer du Alla resurser och söker sedan efter din skapade server (till exempel mydemoserver).
  3. Välj servernamnet.
  4. På serverpanelen Översikt antecknar du Servernamn och Inloggningsnamn för serveradministratören. Om du glömmer lösenordet kan du även återställa det på den här panelen.

Ansluta och skapa en tabell

Använd följande kod för att ansluta och skapa en tabell genom att använda CREATE TABLE SQL-satsen, följt av INSERT INTO SQL-satser för att lägga till rader i tabellen.

Kodanropsmetoden pg_connect() används för att ansluta till Azure Database for PostgreSQL. Sedan anropas metoden - pg_query() - flera gånger för att köra flera kommandon och pg_last_error() för att kontrollera informationen om ett fel inträffade varje gång. Sedan anropas metoden pg_close() för att stänga anslutningen.

Ersätt parametrarna $host, $database, $useroch $password med dina värden.

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

Läs data

Använd följande kod för att ansluta och läsa data med hjälp av en SELECT SQL-instruktion .

Kodanropsmetoden pg_connect() används för att ansluta till Azure Database for PostgreSQL. Sedan anropas metoden pg_query() för att köra SELECT-kommandot, behålla resultatet i en resultatuppsättning och pg_last_error() för att kontrollera informationen om ett fel uppstod. För att läsa resultatuppsättningen anropas metoden pg_fetch_row() i en loop, en gång per rad, och raddata hämtas i en matris $row, med ett datavärde per kolumn i varje matrisposition. För att frigöra resultatuppsättningen anropas metoden pg_free_result(). Sedan anropas metoden pg_close() för att stänga anslutningen.

Ersätt parametrarna $host, $database, $useroch $password med dina värden.

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

Uppdatera data

Använd följande kod för att ansluta och uppdatera data med en UPDATE-SQL-instruktion.

Kodanropsmetoden pg_connect() används för att ansluta till Azure Database for PostgreSQL. Sedan anropas metoden pg_query() för att köra ett kommando och pg_last_error() för att kontrollera informationen om ett fel uppstod. Sedan anropas metoden pg_close() för att stänga anslutningen.

Ersätt parametrarna $host, $database, $useroch $password med dina värden.

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

Ta bort data

Använd följande kod för att ansluta och läsa data med hjälp av en DELETE SQL-instruktion .

Kodanropsmetoden pg_connect() används för att ansluta till Azure Database for PostgreSQL. Sedan anropas metoden pg_query() för att köra ett kommando och pg_last_error() för att kontrollera informationen om ett fel uppstod. Sedan anropas metoden pg_close() för att stänga anslutningen.

Ersätt parametrarna $host, $database, $useroch $password med dina värden.

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

Rensa resurser

Om du vill rensa alla resurser som används under den här snabbstarten tar du bort resursgruppen med följande kommando:

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