Guida introduttiva: Usare PHP per connettersi ed eseguire query sui dati in Database di Azure per PostgreSQL - Server flessibile
SI APPLICA A: Database di Azure per PostgreSQL - Server flessibile
Questa guida introduttiva illustra la connessione a un Database di Azure per PostgreSQL usando un'applicazione PHP. Spiega come usare le istruzioni SQL per eseguire query, inserire, aggiornare ed eliminare dati nel database. I passaggi descritti in questo articolo presuppongono che si abbia familiarità con lo sviluppo con PHP e non si abbia familiarità con Database di Azure per PostgreSQL.
Prerequisiti
Questa guida introduttiva usa le risorse create in Creare un'istanza di Database di Azure per PostgreSQL - Server flessibile come punto di partenza.
Installare PHP
Installare PHP nel server o creare un'app Web di Azure che include PHP.
Finestre
- Scaricare la versione php 7.1.4 non thread safe (x64)
- Installare PHP e vedere il manuale di PHP per le altre opzioni di configurazione
- Il codice usa la classe pgsql (ext/php_pgsql.dll) inclusa nell'installazione di PHP.
- Abilitare l'estensione pgsql modificando il file di configurazione php.ini, che in genere si trova in
C:\Program Files\PHP\v7.1\php.ini
. Il file di configurazione dovrebbe contenere una riga con il testoextension=php_pgsql.so
. Se non viene visualizzato, aggiungere il testo e salvare il file. Se il testo è presente ma commentato con un prefisso punto e virgola, rimuovere il commento dal testo rimuovendo il punto e virgola.
Linux (Ubuntu)
- Scaricare la versione php 7.1.4 non thread safe (x64)
- Installare PHP e vedere il manuale di PHP per le altre opzioni di configurazione
- Il codice usa la classe pgsql class (php_pgsql.so). Installarla eseguendo
sudo apt-get install php-pgsql
. - Abilitare l'estensione pgsql modificando il file di configurazione
/etc/php/7.0/mods-available/pgsql.ini
. Il file di configurazione dovrebbe contenere una riga con il testoextension=php_pgsql.so
. Se non viene visualizzato, aggiungere il testo e salvare il file. Se il testo è presente ma commentato con un prefisso punto e virgola, rimuovere il commento dal testo rimuovendo il punto e virgola.
macOS
- Scaricare PHP versione 7.1.4
- Installare PHP e vedere il manuale di PHP per le altre opzioni di configurazione
Ottenere informazioni di connessione
Ottenere le informazioni di connessione necessarie per connettersi al database di Azure per PostgreSQL. Sono necessari il nome del server completo e le credenziali di accesso.
- Accedere al portale di Azure.
- Nel menu a sinistra nel portale di Azure selezionare Tutte le risorse e quindi cercare il server creato( ad esempio mydemoserver).
- Selezionare il nome del server.
- Nel pannello Panoramica del server prendere nota dei valori riportati in Nome server e Nome di accesso dell'amministratore server. Se si dimentica la password, in questo pannello è anche possibile reimpostarla.
Connettersi e creare una tabella
Usare il codice seguente per connettersi e creare una tabella usando l'istruzione SQL CREATE TABLE , seguita dalle istruzioni INSERT INTO SQL per aggiungere righe alla tabella.
Il metodo di chiamata di codice pg_connect() viene usato per connettersi alla Database di Azure per PostgreSQL. Chiama quindi il metodo , pg_query() , più volte per eseguire diversi comandi e pg_last_error() per controllare i dettagli se si è verificato un errore ogni volta. Chiama quindi il metodo pg_close() per chiudere la connessione.
Sostituire i $host
parametri , $user
$database
, e $password
con i valori.
<?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);
?>
Leggere i dati
Usare il codice seguente per connettersi e leggere i dati usando un'istruzione SQL SELECT.
Il metodo di chiamata di codice pg_connect() viene usato per connettersi alla Database di Azure per PostgreSQL. Chiama quindi il metodo pg_query() per eseguire il comando SELECT, mantenendo i risultati in un set di risultati, e pg_last_error() per controllare i dettagli se si è verificato un errore. Per leggere il set di risultati, viene chiamato il metodo pg_fetch_row() in un ciclo, una volta per riga, e i dati della riga vengono recuperati in una matrice $row
, con un valore di dati per colonna in ogni posizione della matrice. Per liberare il set di risultati, viene chiamato il metodo pg_free_result(). Chiama infine il metodo pg_close() per chiudere la connessione.
Sostituire i $host
parametri , $user
$database
, e $password
con i valori.
<?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);
?>
Aggiornamento dei dati
Usare il codice seguente per connettersi e aggiornare i dati usando un'istruzione SQL UPDATE.
Il metodo di chiamata di codice pg_connect() viene usato per connettersi alla Database di Azure per PostgreSQL. Chiama quindi il metodo pg_query() per eseguire un comando e pg_last_error() per controllare i dettagli se si è verificato un errore. Chiama infine il metodo pg_close() per chiudere la connessione.
Sostituire i $host
parametri , $user
$database
, e $password
con i valori.
<?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);
?>
Eliminare dati
Usare il codice seguente per connettersi e leggere i dati usando un'istruzione SQL DELETE.
Il metodo di chiamata di codice pg_connect() viene usato per connettersi alla Database di Azure per PostgreSQL. Chiama quindi il metodo pg_query() per eseguire un comando e pg_last_error() per controllare i dettagli se si è verificato un errore. Chiama infine il metodo pg_close() per chiudere la connessione.
Sostituire i $host
parametri , $user
$database
, e $password
con i valori.
<?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);
?>
Pulire le risorse
Per pulire tutte le risorse usate in questo argomento di avvio rapido, eliminare il gruppo di risorse con il comando seguente:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes
Contenuto correlato
- Gestire Database di Azure per PostgreSQL - Server flessibile.
- Guida introduttiva: Usare Python per connettersi ed eseguire query sui dati da un'istanza di Database di Azure per PostgreSQL server flessibile.
- Guida introduttiva: Usare Java per connettersi ed eseguire query sui dati da un'istanza di Database di Azure per PostgreSQL server flessibile.
- Guida introduttiva: Usare .NET (C#) per connettersi ed eseguire query sui dati da un'istanza di Database di Azure per PostgreSQL server flessibile.
- Guida introduttiva: Usare il linguaggio Go per connettersi ed eseguire query sui dati da un'istanza di Database di Azure per PostgreSQL server flessibile.
- Guida introduttiva: Usare l'interfaccia della riga di comando di Azure per connettersi ed eseguire query sui dati da un'istanza di Database di Azure per PostgreSQL server flessibile.
- Guida introduttiva: Importare dati da Database di Azure per PostgreSQL - Server flessibile in Power BI.