Quickstart: Utilize PHP para ligar e consultar dados em Base de Dados do Azure para MySQL
APLICA-SE A: Base de Dados do Azure para MySQL - Servidor Único
Importante
Base de Dados do Azure para MySQL - O Servidor Único está no caminho da reforma. Recomendamos vivamente que faça upgrade para Base de Dados do Azure para MySQL - Servidor Flexível. Para obter mais informações sobre migração para Base de Dados do Azure para MySQL - Servidor Flexível, veja o que está a acontecer com Base de Dados do Azure para MySQL Servidor Único?
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 arranque rápido você precisa:
Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuita.
Crie um servidor único Base de Dados do Azure para MySQL utilizando portal do Azure
ou Azure CLI se não tiver um.Com base no facto de estar a utilizar acesso público ou privado, complete uma das ações abaixo para permitir a conectividade.
Ação Método de conectividade Manual de instruções Configurar as regras de firewall Público Portal
CLIConfigure Ponto final de serviço Público Portal
CLIConfigure a ligação privada Privado Portal
CLIInstale a versão PHP mais recente para o seu sistema operativo
Nota
Estamos a usar a biblioteca MySQLi para gerir a ligação e consulta do servidor neste arranque rápido.
Obter informações da ligação
Pode obter as informações de ligação do servidor de base de dados a partir do portal do Azure seguindo estes passos:
Faça login no portal do Azure.
Navegue nas Bases de Dados Azure para a página MySQL. Pode pesquisar e selecionar Base de Dados do Azure para MySQL.
Selecione o seu servidor MySQL (como o mydemoserver).
Na página 'Vista Geral' , copie o nome do servidor totalmente qualificado ao lado do nome do Servidor e o nome de utilizador de administração ao lado do nome de login do servidor. Para copiar o nome do servidor ou o nome do anfitrião, paire sobre ele e selecione o ícone Copy .
Importante
- Se esqueceu a sua palavra-passe, pode redefinir a palavra-passe.
- Substitua os parâmetros de anfitrião, nome de utilizador, palavra-passe e db_name pelos seus próprios valores**
Passo 1: Ligar ao servidor
SSL é ativado por padrão. Poderá ser necessário descarregar o certificado DigiCertGlobalRootG2 SSL para se ligar ao seu ambiente local. Este código chama:
- mysqli_init de inicializar o MySQLi.
- mysqli_ssl_set apontar para o caminho do certificado SSL. Isto é necessário para o seu ambiente local, mas não é necessário para Serviço de Aplicações Web App ou máquinas Virtuais Azure.
- mysqli_real_connect ligar-se ao MySQL.
- mysqli_close fechar a ligaçã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, 'mydemoserver.mysql.database.azure.com', 'myadmin@mydemoserver', 'yourpassword', 'quickstartdb', 3306, NULL, MYSQLI_CLIENT_SSL);
//If connection failed, show the error
if (mysqli_connect_errno())
{
die('Failed to connect to MySQL: '.mysqli_connect_error());
}
Passo 2: Criar uma tabela
Utilize o seguinte código para ligar. Este código chama:
- mysqli_query fazer a consulta.
// 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");
}
Passo 3: Inserir dados
Utilize o seguinte código para inserir dados utilizando uma declaração INSERT SQL. Este código utiliza os métodos:
- mysqli_prepare criar uma declaração de inserção preparada
- mysqli_stmt_bind_param ligar os parâmetros para cada valor da coluna inserida.
- mysqli_stmt_execute
- mysqli_stmt_close de encerrar a declaração utilizando 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
Utilize o seguinte código para ler os dados utilizando uma declaração SELECT SQL. O código utiliza o método:
- mysqli_query executar a consulta SELECT
- mysqli_fetch_assoc para ir buscar as filas resultantes.
//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);
}
Passo 5: Eliminar dados
Utilize as seguintes linhas de eliminação de código utilizando uma declaração DELETE SQL. O código utiliza os métodos:
- mysqli_prepare criar uma declaração de exclusão preparada
- mysqli_stmt_bind_param liga os parâmetros
- mysqli_stmt_execute executa a declaração de eliminação 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);
}
Limpar os recursos
Para limpar todos os recursos utilizados durante este arranque rápido, elimine o grupo de recursos utilizando o seguinte comando:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes