Partilhar via


Guia de início rápido: usar PHP para conectar e consultar dados no Banco de Dados do Azure para PostgreSQL - Servidor Flexível

APLICA-SE A: Banco de Dados do Azure para PostgreSQL - Servidor Flexível

Este guia de início rápido demonstra a conexão com um Banco de Dados do Azure para PostgreSQL usando um aplicativo PHP . Explica como utilizar as instruções SQL para consultar, inserir, atualizar e eliminar dados da base de dados. As etapas neste artigo pressupõem que você esteja familiarizado com o desenvolvimento usando PHP e seja novo no trabalho com o Banco de Dados do Azure para PostgreSQL.

Pré-requisitos

Este guia de início rápido usa os recursos criados em Criar uma instância do Banco de Dados do Azure para PostgreSQL - Servidor Flexível como ponto de partida.

Instalar PHP

Instale o PHP em seu servidor ou crie um aplicativo Web do Azure que inclua PHP.

Windows

  • Download PHP 7.1.4 nonthread safe (x64) versão
  • Instale o PHP e consulte o manual do PHP para mais configurações
  • O código utiliza a classe pgsql (ext/php_pgsql.dll) incluída na instalação do PHP.
  • Ative a extensão pgsql ao editar o ficheiro de configuração php.ini, geralmente localizado em C:\Program Files\PHP\v7.1\php.ini. O ficheiro de configuração deve conter uma linha com o texto extension=php_pgsql.so. Se não for mostrado, adicione o texto e salve o arquivo. Se o texto estiver presente, mas comentado com um prefixo ponto-e-vírgula, remova o comentário removendo o ponto-e-vírgula.

Linux (Ubuntu)

  • Download PHP 7.1.4 nonthread safe (x64) versão
  • Instale o PHP e consulte o manual do PHP para mais configurações
  • O código utiliza a classe pgsql (php_pgsql.so). Instale-o ao executar sudo apt-get install php-pgsql.
  • Ative a extensão pgsql ao editar o ficheiro de configuração /etc/php/7.0/mods-available/pgsql.ini. O ficheiro de configuração deve conter uma linha com o texto extension=php_pgsql.so. Se não for mostrado, adicione o texto e salve o arquivo. Se o texto estiver presente, mas comentado com um prefixo ponto-e-vírgula, remova o comentário removendo o ponto-e-vírgula.

macOS

Obter informações da ligação

Obtenha as informações de ligação necessárias para se ligar à Base de Dados do Azure para PostgreSQL. Necessita do nome do servidor e das credenciais de início de sessão totalmente qualificados.

  1. Inicie sessão no portal do Azure.
  2. No menu à esquerda no portal do Azure, selecione Todos os recursos e procure o servidor criado (como mydemoserver).
  3. Selecione o nome do servidor.
  4. No painel Descrição geral do servidor, tome nota do Nome do servidor e do Nome de início de sessão de administrador do servidor. Caso se esqueça da sua palavra-passe, também pode repor a palavra-passe neste painel.

Ligar-se e criar uma tabela

Use o código a seguir para se conectar e criar uma tabela usando a instrução CREATE TABLE SQL, seguida por instruções INSERT INTO SQL para adicionar linhas à tabela.

O método de chamada de código pg_connect() é usado para se conectar ao Banco de Dados do Azure para PostgreSQL. Em seguida, ele chama o método - pg_query() - várias vezes para executar vários comandos e pg_last_error() para verificar os detalhes se ocorreu um erro de cada vez. Em seguida, ele chama o método pg_close() para fechar a conexão.

Substitua os $hostparâmetros , $database, $usere pelos $password seus valores.

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

Ler dados

Utilize o código seguinte para se ligar e ler dados com uma instrução SQL SELECT.

O método de chamada de código pg_connect() é usado para se conectar ao Banco de Dados do Azure para PostgreSQL. Em seguida, chama o método pg_query() para executar o comando SELECT ao manter os resultados num conjunto de resultados, e pg_last_error() para verificar os detalhes se tiver ocorrido um erro. Para ler o conjunto de resultados, é chamado o método pg_fetch_row() num ciclo, uma vez por linha, e os dados das linhas são obtidos numa matriz $row, com um valor de dados por coluna em cada posição de matriz. Para libertar o conjunto de resultados, é chamado o método pg_free_result(). Em seguida, chama o método pg_close() para fechar a ligação.

Substitua os $hostparâmetros , $database, $usere pelos $password seus valores.

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

Atualizar dados

Utilize o código seguinte para se ligar e atualizar os dados com uma instrução SQL UPDATE.

O método de chamada de código pg_connect() é usado para se conectar ao Banco de Dados do Azure para PostgreSQL. Em seguida, chama o método pg_query() para executar um comando e pg_last_error() para verificar os detalhes, se tiver ocorrido um erro. Em seguida, chama o método pg_close() para fechar a ligação.

Substitua os $hostparâmetros , $database, $usere pelos $password seus valores.

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

Eliminar dados

Utilize o código seguinte para se ligar e ler os dados com uma instrução SQL DELETE.

O método de chamada de código pg_connect() é usado para se conectar ao Banco de Dados do Azure para PostgreSQL. Em seguida, chama o método pg_query() para executar um comando e pg_last_error() para verificar os detalhes, se tiver ocorrido um erro. Em seguida, chama o método pg_close() para fechar a ligação.

Substitua os $hostparâmetros , $database, $usere pelos $password seus valores.

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

Clean up resources (Limpar recursos)

Para limpar todos os recursos usados durante este início rápido, exclua o grupo de recursos usando o seguinte comando:

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

Partilhe as suas sugestões e bugs com a equipa de produto da Base de Dados do Azure para PostgreSQL.