Início Rápido: Usar o PHP para se conectar e consultar dados no Banco de Dados do Azure para PostgreSQL – servidor único
APLICA-SE A: Banco de Dados do Azure para PostgreSQL – Servidor Único
Importante
O Banco de Dados do Azure para PostgreSQL – Servidor Único está prestes a ser desativado. Recomendamos vivamente que atualize para a Base de Dados Azure para PostgreSQL – Servidor Flexível. Para obter mais informações sobre a migração para a Base de Dados Azure para PostgreSQL – Servidor Flexível, veja O que está a acontecer à Base de Dados Azure para PostgreSQL Single Server?.
Este guia de início rápido demonstra como se conectar a um banco de dados do Azure para PostgreSQL usando aplicativo PHP. Ele mostra como usar instruções SQL para consultar, inserir, atualizar e excluir dados no banco de dados. As etapas neste artigo pressupõem que você esteja familiarizado com o desenvolvimento usando PHP e que tenha começado a trabalhar recentemente com o Banco de Dados do Azure para PostgreSQL.
Pré-requisitos
Este guia de início rápido usa os recursos criados em um destes guias como ponto de partida:
Instalar o PHP
Instalar o PHP em seu próprio servidor ou crie um aplicativo Web do Azure que inclua o PHP.
Windows
- Baixar o PHP 7.1.4 versão protegida não thread (x64)
- Instalar o PHP e consultar o manual do PHP para outras configurações
- O código usa a classe pgsql (ext/php_pgsql.dll) que está incluída na instalação do PHP.
- Habilitou a extensão pgsql editando o arquivo de configuração php.ini, geralmente localizado em
C:\Program Files\PHP\v7.1\php.ini
. O arquivo de configuração deve conter uma linha com o textoextension=php_pgsql.so
. Se não for exibido, adicione o texto e salve o arquivo. Se o texto estiver presente, mas comentado com um prefixo de ponto e vírgula, remova a marca de comentário do texto removendo o ponto e vírgula.
Linux (Ubuntu)
- Baixar o PHP 7.1.4 versão protegida não thread (x64)
- Instalar o PHP e consultar o manual do PHP para outras configurações
- O código usa a classe pgsql (php_pgsql.so). Instale-a executando
sudo apt-get install php-pgsql
. - Habilitou a extensão pgsql editando o arquivo de configuração
/etc/php/7.0/mods-available/pgsql.ini
. O arquivo de configuração deve conter uma linha com o textoextension=php_pgsql.so
. Se não for exibido, adicione o texto e salve o arquivo. Se o texto estiver presente, mas comentado com um prefixo de ponto e vírgula, remova a marca de comentário do texto removendo o ponto e vírgula.
MacOS
- Baixar o PHP 7.1.4 versão
- Instalar o PHP e consultar o manual do PHP para outras configurações
Obter informações de conexão
Obtenha as informações de conexão necessárias para se conectar ao Banco de Dados do Azure para PostgreSQL. Você precisa das credenciais de logon e do nome do servidor totalmente qualificado.
- Faça logon no Portal do Azure.
- No menu à esquerda no portal do Azure, selecione Todos os recursos e pesquise o servidor que você criou (como mydemoserver).
- Selecione o nome do servidor.
- No painel Visão Geral do servidor, anote o Nome do servidor e Nome de logon do administrador do servidor. Se você esquecer sua senha, também poderá redefini-la nesse painel.
Conectar-se e criar uma tabela
Use o código a seguir para se conectar e criar uma tabela usando a instrução SQL CREATE TABLE, seguida por instruções SQL INSERT INTO para adicionar linhas à tabela.
O método de chamada de código pg_connect() 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 em caso de erro. Em seguida, ele chama o método pg_close() para fechar a conexão.
Substitua os parâmetros $host
, $database
, $user
, e $password
pelos seus próprios 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 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);
?>
Ler dados
Use o código a seguir para conectar-se e ler os dados usando uma instrução SQL SELECT.
O método de chamada de código pg_connect() para se conectar ao Banco de Dados do Azure para PostgreSQL. Em seguida, ele chama o método pg_query() para executar o comando SELECT, mantendo os resultados em um conjunto de resultados, e pg_last_error() para verificar os detalhes em caso de erro. Para ler o resultado definido, o método pg_fetch_row() é chamado em um loop, uma vez por linha, e a linha de dados é recuperada de uma matriz $row
, com um valor de dados por coluna em cada posição de matriz. Para liberar o resultado definido, o método pg_free_result() é chamado. Em seguida, ele chama o método pg_close() para fechar a conexão.
Substitua os parâmetros $host
, $database
, $user
, e $password
pelos seus próprios 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 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);
?>
Atualizar dados
Use o código a seguir para conectar-se e atualizar os dados usando uma instrução SQL UPDATE.
O método de chamada de código pg_connect() para se conectar ao Banco de Dados do Azure para PostgreSQL. Em seguida, ele chama o método pg_query() para executar um comando e pg_last_error() para verificar os detalhes em caso de erro. Em seguida, ele chama o método pg_close() para fechar a conexão.
Substitua os parâmetros $host
, $database
, $user
, e $password
pelos seus próprios 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 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);
?>
Excluir dados
Use o código a seguir para conectar-se e ler os dados usando uma instrução SQL DELETE.
O método de chamada de código pg_connect() para se conectar ao Banco de Dados do Azure para PostgreSQL. Em seguida, ele chama o método pg_query() para executar um comando e pg_last_error() para verificar os detalhes em caso de erro. Em seguida, ele chama o método pg_close() para fechar a conexão.
Substitua os parâmetros $host
, $database
, $user
, e $password
pelos seus próprios 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 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);
?>
Limpar os recursos
Para limpar todos os recursos usados durante este guia de início rápido, exclua o grupo de recursos usando o seguinte comando:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes