Megosztás a következőn keresztül:


Rövid útmutató: Adatok csatlakoztatása és lekérdezése a PHP használatával az Azure Database for PostgreSQL-ben – rugalmas kiszolgáló

A következőkre vonatkozik: Azure Database for PostgreSQL – Rugalmas kiszolgáló

Ez a rövid útmutató bemutatja az Azure Database for PostgreSQL-hez való csatlakozást PHP-alkalmazással. Bemutatjuk, hogy az SQL-utasítások használatával hogyan kérdezhetők le, illeszthetők be, frissíthetők és törölhetők az adatok az adatbázisban. A cikk lépései feltételezik, hogy már ismeri a PHP használatával történő fejlesztést, és még nem ismeri az Azure Database for PostgreSQL használatát.

Előfeltételek

Ez a rövid útmutató kiindulási pontként használja az Azure Database for PostgreSQL – Rugalmas kiszolgáló létrehozása példányban létrehozott erőforrásokat.

A PHP telepítése

Telepítse a PHP-t a kiszolgálóra, vagy hozzon létre egy PHP-t tartalmazó Azure-webalkalmazást.

Windows

  • Töltse le a PHP 7.1.4 nem futó biztonságos (x64) verzióját
  • Telepítse a PHP-t, majd tekintse át a PHP kézikönyvét a további konfiguráláshoz
  • A kód a pgsql osztályt használja (ext/php_pgsql.dll), amely a PHP-telepítés része.
  • Engedélyezze a pgsql bővítményt a php.ini konfigurációs fájl szerkesztésével, amely általában a következő helyen található: C:\Program Files\PHP\v7.1\php.ini. A konfigurációs fájlnak tartalmaznia kell egy sort a következő szöveggel: extension=php_pgsql.so. Ha nem jelenik meg, adja hozzá a szöveget, és mentse a fájlt. Ha a szöveg jelen van, de pontosvessző előtaggal van megfűzve, a pontosvessző eltávolításával bontsa ki a szöveget.

Linux (Ubuntu)

  • Töltse le a PHP 7.1.4 nem futó biztonságos (x64) verzióját
  • Telepítse a PHP-t, majd tekintse át a PHP kézikönyvét a további konfiguráláshoz
  • A kód a pgsql osztályt használja (php_pgsql.so). Telepítse a sudo apt-get install php-pgsql futtatásával.
  • Engedélyezze a pgsql bővítményt az /etc/php/7.0/mods-available/pgsql.ini konfigurációs fájl szerkesztésével. A konfigurációs fájlnak tartalmaznia kell egy sort a következő szöveggel: extension=php_pgsql.so. Ha nem jelenik meg, adja hozzá a szöveget, és mentse a fájlt. Ha a szöveg jelen van, de pontosvessző előtaggal van megfűzve, a pontosvessző eltávolításával bontsa ki a szöveget.

macOS

Kapcsolatadatok lekérése

Kérje le a PostgreSQL-hez készült Azure-adatbázishoz való csatlakozáshoz szükséges kapcsolatadatokat. Szüksége lesz a teljes kiszolgálónévre és a bejelentkezési hitelesítő adatokra.

  1. Jelentkezzen be az Azure Portalra.
  2. Az Azure Portal bal oldali menüjében válassza a Minden erőforrás lehetőséget, majd keresse meg a létrehozott kiszolgálót (például a mydemoservert).
  3. Válassza ki a kiszolgálónevet.
  4. A kiszolgáló Áttekintés paneléről jegyezze fel a Kiszolgálónevet és a Kiszolgáló-rendszergazdai bejelentkezési nevet. Ha elfelejti a jelszavát, ezen a panelen új jelszót is tud kérni.

Csatlakozás és tábla létrehozása

A következő kóddal csatlakozhat és létrehozhat egy táblát a CREATE TABLE SQL utasítással, majd az INSERT INTO SQL utasítással sorokat adhat hozzá a táblához.

A pg_connect() kódhívási metódus az Azure Database for PostgreSQL-hez való csatlakozásra szolgál. Ezután többször meghívja a metódust - pg_query() - több parancs futtatásához, és pg_last_error() a részletek ellenőrzéséhez, ha hiba történt minden alkalommal. Ezután meghívja a pg_close() metódust a kapcsolat bezárásához.

Cserélje le a $host, $database, $userés $password paramétereket az értékekre.

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

Adatok beolvasása

Az alábbi kód használatával csatlakozhat és végezheti el az adatok olvasását SELECT SQL-utasítás segítségével.

A pg_connect() kódhívási metódus az Azure Database for PostgreSQL-hez való csatlakozásra szolgál. Ezután meghívja a pg_query() metódust, hogy futtassa a SELECT parancsot, az eredményeket egy eredményhalmazban tárolja, majd meghívja a pg_last_error() metódust, hogy hiba esetén ellenőrizze a részleteket. Az eredményhalmaz olvasásához a kód többször, soronként egyszer meghívja a pg_fetch_row() metódust. A soradatokat $row tömbben kéri le, minden egyes tömbpozícióban oszloponként egy adatértékkel. Az eredményhalmaz felszabadításához a pg_fetch_row() metódust hívja meg. Végül meghívja a pg_close() metódust, hogy bontsa a kapcsolatot.

Cserélje le a $host, $database, $userés $password paramétereket az értékekre.

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

Adatok frissítése

Az alábbi kód használatával csatlakozhat és végezheti el az adatok módosítását egy UPDATE SQL-utasítás segítségével.

A pg_connect() kódhívási metódus az Azure Database for PostgreSQL-hez való csatlakozásra szolgál. Ezután meghívja a pg_query() metódust, hogy futtasson egy parancsot, majd a pg_last_error() metódust, hogy hiba esetén ellenőrizze a részleteket. Végül meghívja a pg_close() metódust, hogy bontsa a kapcsolatot.

Cserélje le a $host, $database, $userés $password paramétereket az értékekre.

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

Adatok törlése

Az alábbi kód használatával csatlakozhat és végezheti el az adatok olvasását egy DELETE SQL-utasítás segítségével.

A pg_connect() kódhívási metódus az Azure Database for PostgreSQL-hez való csatlakozásra szolgál. Ezután meghívja a pg_query() metódust, hogy futtasson egy parancsot, majd a pg_last_error() metódust, hogy hiba esetén ellenőrizze a részleteket. Végül meghívja a pg_close() metódust, hogy bontsa a kapcsolatot.

Cserélje le a $host, $database, $userés $password paramétereket az értékekre.

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

Az erőforrások eltávolítása

A rövid útmutató során használt összes erőforrás törléséhez törölje az erőforráscsoportot az alábbi paranccsal:

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