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:

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:

  1. Faça login no portal do Azure.

  2. Navegue nas Bases de Dados Azure para a página MySQL. Pode pesquisar e selecionar Base de Dados do Azure para MySQL. Encontre Base de Dados do Azure para MySQL

  3. Selecione o seu servidor MySQL (como o mydemoserver).

  4. 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:

// 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:

//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:

//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:

//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

Passos seguintes