Inicio rápido: Uso de PHP para conectarse y consultar datos en Azure Database for PostgreSQL: servidor únicoQuickstart: Use PHP to connect and query data in Azure Database for PostgreSQL - Single Server

En este tutorial rápido se muestra cómo conectarse a una instancia de Azure Database for PostgreSQL mediante una aplicación de PHP.This quickstart demonstrates how to connect to an Azure Database for PostgreSQL using a PHP application. Se indica cómo usar instrucciones SQL para consultar, insertar, actualizar y eliminar datos en la base de datos.It shows how to use SQL statements to query, insert, update, and delete data in the database. En los pasos de este artículo se da por hecho que está familiarizado con el desarrollo mediante PHP, pero que nunca ha trabajado con Azure Database for PostgreSQL.The steps in this article assume that you are familiar with developing using PHP, and are new to working with Azure Database for PostgreSQL.

PrerrequisitosPrerequisites

En este tutorial rápido se usan como punto de partida los recursos creados en una de estas guías:This quickstart uses the resources created in either of these guides as a starting point:

Instalación de PHPInstall PHP

Instale PHP en su propio servidor o cree una aplicación web de Azure que lo incluya.Install PHP on your own server, or create an Azure web app that includes PHP.

WindowsWindows

  • Descargue la versión segura 7.1.4 de PHP sin subprocesos (x64).Download PHP 7.1.4 non-thread safe (x64) version
  • Instale PHP y consulte el manual de PHP para continuar con la configuración.Install PHP and refer to the PHP manual for further configuration
  • El código usa la clase pgsql (ext/php_pgsql.dll) que se incluye en la instalación de PHP.The code uses the pgsql class (ext/php_pgsql.dll) that is included in the PHP installation.
  • Ha habilitado la extensión pgsql mediante la edición del archivo de configuración php.ini, que normalmente se encuentra en C:\Program Files\PHP\v7.1\php.ini.Enabled the pgsql extension by editing the php.ini configuration file, typically located at C:\Program Files\PHP\v7.1\php.ini. El archivo de configuración debe contener una línea con el texto extension=php_pgsql.so.The configuration file should contain a line with the text extension=php_pgsql.so. Si no se muestra, agregue el texto y guarde el archivo.If it is not shown, add the text and save the file. Si el texto está presente, pero se ha comentado con un prefijo de punto y coma, quite el punto y coma para quitar la marca de comentario del texto.If the text is present, but commented with a semicolon prefix, uncomment the text by removing the semicolon.

Linux (Ubuntu)Linux (Ubuntu)

  • Descargue la versión segura 7.1.4 de PHP sin subprocesos (x64).Download PHP 7.1.4 non-thread safe (x64) version
  • Instale PHP y consulte el manual de PHP para continuar con la configuración.Install PHP and refer to the PHP manual for further configuration
  • El código usa la clase pgsql (php_pgsql.so).The code uses the pgsql class (php_pgsql.so). Instálela mediante la ejecución de sudo apt-get install php-pgsql.Install it by running sudo apt-get install php-pgsql.
  • Ha habilitado la extensión pgsql mediante la edición del archivo de configuración /etc/php/7.0/mods-available/pgsql.ini.Enabled the pgsql extension by editing the /etc/php/7.0/mods-available/pgsql.ini configuration file. El archivo de configuración debe contener una línea con el texto extension=php_pgsql.so.The configuration file should contain a line with the text extension=php_pgsql.so. Si no se muestra, agregue el texto y guarde el archivo.If it is not shown, add the text and save the file. Si el texto está presente, pero se ha comentado con un prefijo de punto y coma, quite el punto y coma para quitar la marca de comentario del texto.If the text is present, but commented with a semicolon prefix, uncomment the text by removing the semicolon.

MacOSMacOS

Obtención de información sobre la conexiónGet connection information

Obtenga la información de conexión necesaria para conectarse a Azure Database for PostgreSQL.Get the connection information needed to connect to the Azure Database for PostgreSQL. Necesitará el nombre completo del servidor y las credenciales de inicio de sesión.You need the fully qualified server name and login credentials.

  1. Inicie sesión en Azure Portal.Log in to the Azure portal.
  2. En el menú izquierdo de Azure Portal, haga clic en Todos los recursos y, luego, busque el servidor que ha creado, por ejemplo, mydemoserver.From the left-hand menu in Azure portal, click All resources, and then search for the server you have created (such as mydemoserver).
  3. Haga clic en el nombre del servidor.Click the server name.
  4. En el panel Información general del servidor, anote el nombre del servidor y el nombre de inicio de sesión del administrador del servidor.From the server's Overview panel, make a note of the Server name and Server admin login name. Si olvida la contraseña, puede restablecerla en este panel.If you forget your password, you can also reset the password from this panel. Nombre de servidor de Azure Database for PostgreSQL

Conexión y creación de una tablaConnect and create a table

Use el código siguiente para conectarse y crear una tabla mediante la instrucción SQL CREATE TABLE, seguida de las instrucciones SQL INSERT INTO para agregar filas a la tabla.Use the following code to connect and create a table using CREATE TABLE SQL statement, followed by INSERT INTO SQL statements to add rows into the table.

El código llama al método pg_connect() para conectar con Azure Database for PostgreSQL.The code call method pg_connect() to connect to Azure Database for PostgreSQL. A continuación, llama al método pg_query() varias veces para ejecutar varios comandos y a pg_last_error() para consultar los detalles si se produjo un error cada vez.Then it calls method pg_query() several times to run several commands, and pg_last_error() to check the details if an error occurred each time. A continuación, llama al método pg_close() para cerrar la conexión.Then it calls method pg_close() to close the connection.

Reemplace los parámetros $host, $database, $user y $password por sus propios valores.Replace the $host, $database, $user, and $password parameters with your own values.

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

Lectura de datosRead data

Use el código siguiente para conectarse y leer los datos mediante la instrucción SQL SELECT.Use the following code to connect and read the data using a SELECT SQL statement.

El código llama al método pg_connect() para conectar con Azure Database for PostgreSQL.The code call method pg_connect() to connect to Azure Database for PostgreSQL. A continuación, llama al método pg_query() para ejecutar el comando SELECT (los resultados se guardan en un conjunto de resultados) y a pg_last_error() para comprobar los detalles si se ha producido un error.Then it calls method pg_query() to run the SELECT command, keeping the results in a result set, and pg_last_error() to check the details if an error occurred. Para leer el conjunto de resultados, se llama al método pg_fetch_row() en un bucle, una vez por cada fila, y los datos de la fila se recuperan en una matriz $row, con un valor de datos por columna en cada posición de dicha matriz.To read the result set, method pg_fetch_row() is called in a loop, once per row, and the row data is retrieved in an array $row, with one data value per column in each array position. Para liberar el conjunto de resultados, se llama al método pg_free_result().To free the result set, method pg_free_result() is called. A continuación, llama al método pg_close() para cerrar la conexión.Then it calls method pg_close() to close the connection.

Reemplace los parámetros $host, $database, $user y $password por sus propios valores.Replace the $host, $database, $user, and $password parameters with your own values.

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

Actualización de datosUpdate data

Use el código siguiente para conectarse y actualizar los datos mediante la instrucción SQL UPDATE.Use the following code to connect and update the data using a UPDATE SQL statement.

El código llama al método pg_connect() para conectar con Azure Database for PostgreSQL.The code call method pg_connect() to connect to Azure Database for PostgreSQL. A continuación, llama al método pg_query() para ejecutar un comando, y a pg_last_error() para comprobar los detalles si se ha producido un error.Then it calls method pg_query() to run a command, and pg_last_error() to check the details if an error occurred. A continuación, llama al método pg_close() para cerrar la conexión.Then it calls method pg_close() to close the connection.

Reemplace los parámetros $host, $database, $user y $password por sus propios valores.Replace the $host, $database, $user, and $password parameters with your own values.

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

Eliminación de datosDelete data

Use el código siguiente para conectarse y leer los datos mediante la instrucción SQL DELETE.Use the following code to connect and read the data using a DELETE SQL statement.

El código llama al método pg_connect() para conectar con Azure Database for PostgreSQL.The code call method pg_connect() to connect to Azure Database for PostgreSQL. A continuación, llama al método pg_query() para ejecutar un comando, y a pg_last_error() para comprobar los detalles si se ha producido un error.Then it calls method pg_query() to run a command, and pg_last_error() to check the details if an error occurred. A continuación, llama al método pg_close() para cerrar la conexión.Then it calls method pg_close() to close the connection.

Reemplace los parámetros $host, $database, $user y $password por sus propios valores.Replace the $host, $database, $user, and $password parameters with your own values.

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

Limpieza de recursosClean up resources

Para limpiar todos los recursos utilizados durante esta guía de inicio rápido, elimine el grupo de recursos con el siguiente comando:To clean up all resources used during this quickstart, delete the resource group using the following command:

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

Pasos siguientesNext steps