Partager via


Démarrage rapide : Utiliser PHP afin de se connecter à Azure Database pour PostgreSQL – Serveur flexible et d'interroger les données

S’APPLIQUE À : Azure Database pour PostgreSQL : serveur flexible

Ce guide de démarrage rapide explique comment se connecter à Azure Database pour PostgreSQL en utilisant une application PHP. Il détaille l’utilisation d’instructions SQL pour interroger la base de données, la mettre à jour, y insérer des données ou en supprimer. Cet article part du principe que vous connaissez les bases du développement PHP, et que vous ne savez pas utiliser Azure Database pour PostgreSQL.

Prérequis

Ce guide de démarrage rapide s’appuie sur les ressources créées dans l’un de ces guides :

Installer PHP

Installez PHP sur votre serveur, ou créez une application web Azure incluant PHP.

Windows

  • Téléchargez la version non thread-safe (x64) de PHP 7.1.4.
  • Installez PHP et consultez le manuel sur PHP pour poursuivre la configuration
  • Le code utilise la classe pgsql (ext/php_pgsql.dll) qui est incluse dans l’installation de PHP.
  • Activez l’extension pgsql en modifiant le fichier de configuration php.ini, qui se trouve généralement ici : C:\Program Files\PHP\v7.1\php.ini. Le fichier de configuration doit contenir une ligne présentant le texte extension=php_pgsql.so. Si elle n’apparaît pas, ajoutez le texte et enregistrez le fichier. Si le texte est présent mais mis en commentaire avec un préfixe point-virgule, supprimez les marques de commentaire en retirant le point-virgule.

Linux (Ubuntu)

  • Téléchargez la version non thread-safe (x64) de PHP 7.1.4.
  • Installez PHP et consultez le manuel sur PHP pour poursuivre la configuration
  • Le code utilise la classe pgsql (php_pgsql.so). Installez-la en exécutant la commande sudo apt-get install php-pgsql.
  • Activez l’extension pgsql en modifiant le fichier de configuration /etc/php/7.0/mods-available/pgsql.ini. Le fichier de configuration doit contenir une ligne présentant le texte extension=php_pgsql.so. Si elle n’apparaît pas, ajoutez le texte et enregistrez le fichier. Si le texte est présent mais mis en commentaire avec un préfixe point-virgule, supprimez les marques de commentaire en retirant le point-virgule.

macOS

Obtenir des informations de connexion

Obtenez les informations de connexion requises pour vous connecter à la base de données Azure pour PostgreSQL. Vous devez disposer du nom de serveur complet et des informations d’identification.

  1. Connectez-vous au portail Azure.
  2. Dans le menu de gauche du portail Azure, sélectionnez Toutes les ressources, puis recherchez le serveur que vous venez de créer (par exemple mydemoserver).
  3. Sélectionnez le nom du serveur.
  4. Dans le panneau Vue d’ensemble du serveur, notez le nom du serveur et le nom de connexion de l’administrateur du serveur. Si vous oubliez votre mot de passe, vous pouvez également le réinitialiser dans ce panneau.

Se connecter et créer une table

Utilisez le code suivant pour vous connecter et créer une table à l’aide de l’instruction CREATE TABLE, suivie des instructions SQL INSERT INTO pour ajouter des lignes à la table.

Le code appelle la méthode pg_connect() est utilisée pour se connecter à Azure Database pour PostgreSQL. Ensuite, il appelle la méthode pg_query() plusieurs fois pour exécuter plusieurs commandes, et la méthode pg_last_error() pour vérifier les détails, si une erreur s’est produite à chaque fois. Pour finir, il appelle la méthode pg_close() pour fermer la connexion.

Remplacez les paramètres $host, $database, $user et $password par vos valeurs.

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

Lire les données

Utilisez le code suivant pour vous connecter et lire des données à l’aide d’une instruction SQL SELECT.

Le code appelle la méthode pg_connect() est utilisée pour se connecter à Azure Database pour PostgreSQL. Ensuite, il appelle la méthode pg_query() pour exécuter la commande SELECT, en conservant les résultats dans un jeu de résultats, et la méthode pg_last_error() pour vérifier les détails, si une erreur s’est produite. Pour lire le jeu de résultats, le système appelle la méthode pg_fetch_row() en boucle, une fois par ligne, et récupère les données des lignes dans un tableau $row, en affichant une valeur de données par colonne dans chaque position dans le tableau. Pour libérer le jeu de résultats, le système appelle la méthode pg_free_result(). Enfin, il appelle la méthode pg_close() pour fermer la connexion.

Remplacez les paramètres $host, $database, $user et $password par vos valeurs.

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

Mettre à jour des données

Utilisez le code suivant pour vous connecter et mettre à jour les données à l’aide d’une instruction SQL UPDATE.

Le code appelle la méthode pg_connect() est utilisée pour se connecter à Azure Database pour PostgreSQL. Ensuite, il appelle la méthode pg_query() pour exécuter une commande, et la méthode pg_last_error() pour vérifier les détails, si une erreur s’est produite. Enfin, il appelle la méthode pg_close() pour fermer la connexion.

Remplacez les paramètres $host, $database, $user et $password par vos valeurs.

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

Suppression de données

Utilisez le code suivant pour vous connecter et lire des données à l’aide d’une instruction SQL DELETE.

Le code appelle la méthode pg_connect() est utilisée pour se connecter à Azure Database pour PostgreSQL. Ensuite, il appelle la méthode pg_query() pour exécuter une commande, et la méthode pg_last_error() pour vérifier les détails, si une erreur s’est produite. Enfin, il appelle la méthode pg_close() pour fermer la connexion.

Remplacez les paramètres $host, $database, $user et $password par vos valeurs.

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

Nettoyer les ressources

Pour nettoyer toutes les ressources utilisées dans le cadre de ce guide de démarrage rapide, supprimez le groupe de ressources à l’aide de la commande suivante :

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