Rövid útmutató: Adatok csatlakoztatása és lekérdezése a PHP használatával az Egykiszolgálós Azure Database for PostgreSQL-ben
A KÖVETKEZŐKRE VONATKOZIK: Azure Database for PostgreSQL – Önálló kiszolgáló
Fontos
Azure Database for PostgreSQL – Az önálló kiszolgáló a kivezetési útvonalon van. Határozottan javasoljuk, hogy frissítsen az Azure Database for PostgreSQL rugalmas kiszolgálóra. A rugalmas Azure Database for PostgreSQL-kiszolgálóra való migrálással kapcsolatos további információkért lásd: Mi történik az önálló Azure Database for PostgreSQL-kiszolgálóval?
Ez a rövid útmutató azt ismerteti, hogyan lehet csatlakozni a PostgreSQL-hez készült Azure-adatbázishoz egy 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 jelen cikkben ismertetett lépések feltételezik, hogy Ön rendelkezik fejlesztési tapasztalatokkal a PHP használatával kapcsolatban, a PostgreSQL-hez készült Azure Database használatában pedig még járatlan.
Előfeltételek
Ebben a rövid útmutatóban a következő útmutatók valamelyikében létrehozott erőforrásokat használunk kiindulási pontként:
A PHP telepítése
Telepítse a PHP-t a kiszolgálójára, vagy hozzon létre egy PHP-t tartalmazó Azure-webalkalmazást.
Windows
- Töltse le a PHP 7.1.4 non-thread safe (NTS) x64-es 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 ez nem jelenik meg, adja hozzá a szöveget, és mentse a fájlt. Ha a szöveg megvan, de pontosvessző előtaggal van ellátva, távolítsa el a megjegyzést a pontosvessző törlésével.
Linux (Ubuntu)
- Töltse le a PHP 7.1.4 non-thread safe (NTS) x64-es 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 ez nem jelenik meg, adja hozzá a szöveget, és mentse a fájlt. Ha a szöveg megvan, de pontosvessző előtaggal van ellátva, távolítsa el a megjegyzést a pontosvessző törlésével.
MacOS
- Töltse le a PHP 7.1.4-es verzióját
- Telepítse a PHP-t, majd tekintse át a PHP kézikönyvét a további konfiguráláshoz
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.
- Jelentkezzen be az Azure Portalra.
- 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).
- Válassza ki a kiszolgálónevet.
- 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ód használatával csatlakozhat, és létrehozhat egy táblát a CREATE TABLE SQL-utasítással, majd az INSERT INTO SQL-utasításokkal sorokat adhat hozzá a táblához.
A kód meghívja a pg_connect() metódust, hogy csatlakozni tudjon a PostgreSQL-hez készült Azure-adatbázishoz. Ezután többször is meghívja a pg_query() metódust, hogy különböző parancsokat futtasson, majd a pg_last_error() metódust, hogy ellenőrizze a részleteket, ha minden alkalommal hibába ütközött. 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 a saját értékeire.
<?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 connection to database.<br/>";
// Drop previous table of 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 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 kód meghívja a pg_connect() metódust, hogy csatlakozni tudjon a PostgreSQL-hez készült Azure-adatbázishoz. 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 a saját értékeire.
<?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 connection to 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 kód meghívja a pg_connect() metódust, hogy csatlakozni tudjon a PostgreSQL-hez készült Azure-adatbázishoz. 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 a saját értékeire.
<?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 connection to database. <br/>";
// Modify some data in 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 kód meghívja a pg_connect() metódust, hogy csatlakozni tudjon a PostgreSQL-hez készült Azure-adatbázishoz. 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 a saját értékeire.
<?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 connection to database. <br/>";
// Delete some data from 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