Guia de início rápido: usar PHP para conectar e consultar dados no Banco de Dados do Azure para MySQL
APLICA-SE A: Banco de Dados do Azure para MySQL - Servidor Único
Importante
O servidor único do Banco de Dados do Azure para MySQL está no caminho de desativação. É altamente recomendável que você atualize para o Banco de Dados do Azure para o servidor flexível MySQL. Para obter mais informações sobre como migrar para o Banco de Dados do Azure para servidor flexível MySQL, consulte O que está acontecendo com o Banco de Dados do Azure para Servidor Único MySQL?
Este guia de início rápido explica como se pode ligar a uma Base de Dados do Azure para MySQL através de uma aplicação PHP. Explica como utilizar as instruções SQL para consultar, inserir, atualizar e eliminar dados da base de dados.
Pré-requisitos
Para este guia de início rápido, você precisa:
Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
Criar um Banco de Dados do Azure para servidor único MySQL usando o portal do Azure
ou CLI do Azure, se você não tiver uma.Com base no fato de você estar usando o acesso público ou privado, conclua UMA das ações abaixo para habilitar a conectividade.
Ação Método de conectividade Manual de instruções Configurar as regras de firewall Pública Portal
CLIConfigurar o ponto de extremidade do serviço Pública Portal
CLIConfigurar link privado Privado Portal
CLIInstale a versão mais recente do PHP para o seu sistema operacional
Nota
Estamos usando a biblioteca MySQLi para gerenciar, conectar e consultar o servidor neste início rápido.
Obter informações da ligação
Você pode obter as informações de conexão do servidor de banco de dados do portal do Azure seguindo estas etapas:
Inicie sessão no portal do Azure.
Navegue até a página Bancos de Dados do Azure para MySQL. Você pode pesquisar e selecionar o Banco de Dados do Azure para MySQL.
Selecione seu servidor MySQL (como mydemoserver).
Na página Visão geral, copie o nome do servidor totalmente qualificado ao lado de Nome do servidor e o nome de usuário administrador ao lado de Nome de login do administrador do servidor. Para copiar o nome do servidor ou do host, passe o mouse sobre ele e selecione o ícone Copiar .
Importante
- Se se esqueceu da sua palavra-passe, pode redefini-la.
- Substitua os parâmetros de host, nome de usuário, senha e db_name por seus próprios valores**
Etapa 1: Conectar-se ao servidor
O SSL está habilitado por padrão. Talvez seja necessário baixar o certificado SSL DigiCertGlobalRootG2 para se conectar a partir do seu ambiente local. Este código chama:
- mysqli_init inicializar o MySQLi.
- mysqli_ssl_set apontar para o caminho do certificado SSL. Isso é necessário para seu ambiente local, mas não é necessário para o Aplicativo Web do Serviço de Aplicativo ou máquinas virtuais do Azure.
- mysqli_real_connect para se conectar ao MySQL.
- mysqli_close para fechar a conexão.
$host = 'mydemoserver.mysql.database.azure.com';
$username = 'myadmin@mydemoserver';
$password = 'your_password';
$db_name = 'your_database';
//Initializes MySQLi
$conn = mysqli_init();
mysqli_ssl_set($conn,NULL,NULL, "/var/www/html/DigiCertGlobalRootG2.crt.pem", NULL, NULL);
// Establish the connection
mysqli_real_connect($conn, $host, $username, $password, $db_name, 3306, NULL, MYSQLI_CLIENT_SSL);
//If connection failed, show the error
if (mysqli_connect_errno())
{
die('Failed to connect to MySQL: '.mysqli_connect_error());
}
Etapa 2: Criar uma tabela
Use o código a seguir para se conectar. Este código chama:
// Run the create table query
if (mysqli_query($conn, '
CREATE TABLE Products (
`Id` INT NOT NULL AUTO_INCREMENT ,
`ProductName` VARCHAR(200) NOT NULL ,
`Color` VARCHAR(50) NOT NULL ,
`Price` DOUBLE NOT NULL ,
PRIMARY KEY (`Id`)
);
')) {
printf("Table created\n");
}
Etapa 3: Inserir dados
Use o código a seguir para inserir dados usando uma instrução INSERT SQL. Este código usa os métodos:
- mysqli_prepare criar uma instrução de inserção preparada
- mysqli_stmt_bind_param vincular os parâmetros para cada valor de coluna inserido.
- mysqli_stmt_execute
- mysqli_stmt_close fechar a instrução usando o método
//Create an Insert prepared statement and run it
$product_name = 'BrandNewProduct';
$product_color = 'Blue';
$product_price = 15.5;
if ($stmt = mysqli_prepare($conn, "INSERT INTO Products (ProductName, Color, Price) VALUES (?, ?, ?)"))
{
mysqli_stmt_bind_param($stmt, 'ssd', $product_name, $product_color, $product_price);
mysqli_stmt_execute($stmt);
printf("Insert: Affected %d rows\n", mysqli_stmt_affected_rows($stmt));
mysqli_stmt_close($stmt);
}
Passo 4: Ler dados
Use o código a seguir para ler os dados usando uma instrução SELECT SQL. O código usa o método:
//Run the Select query
printf("Reading data from table: \n");
$res = mysqli_query($conn, 'SELECT * FROM Products');
while ($row = mysqli_fetch_assoc($res))
{
var_dump($row);
}
Etapa 5: Excluir dados
Use as seguintes linhas de exclusão de código usando uma instrução DELETE SQL. O código usa os métodos:
- mysqli_prepare criar uma instrução de exclusão preparada
- mysqli_stmt_bind_param vincula os parâmetros
- mysqli_stmt_execute executa a instrução delete preparada
- mysqli_stmt_close encerra a declaração
//Run the Delete statement
$product_name = 'BrandNewProduct';
if ($stmt = mysqli_prepare($conn, "DELETE FROM Products WHERE ProductName = ?")) {
mysqli_stmt_bind_param($stmt, 's', $product_name);
mysqli_stmt_execute($stmt);
printf("Delete: Affected %d rows\n", mysqli_stmt_affected_rows($stmt));
mysqli_stmt_close($stmt);
}
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