Compartilhar via


Usar PHP com o Banco de Dados do Azure para MySQL - Servidor Flexível

APLICA-SE A: Banco de Dados do Azure para MySQL - Servidor flexível

Este guia de início rápido demonstra como se conectar ao Banco de Dados do Azure para servidor flexível MySQL usando um aplicativo PHP . Ele mostra como usar instruções SQL para consultar, inserir, atualizar e excluir dados no banco de dados. Este artigo pressupõe que você esteja familiarizado com o desenvolvimento usando PHP e que você é novo em trabalhar com o Banco de Dados do Azure para servidor flexível MySQL.

Pré-requisitos

Este guia de início rápido usa os recursos criados em um destes guias como ponto de partida:

Como preparar sua estação de trabalho cliente

  1. Caso tenha criado um servidor flexível com acesso privado (Integração VNet) , será necessário se conectar ao servidor de um recurso na mesma VNet do servidor. Crie uma máquina virtual e adicione-a à VNET criada com o servidor flexível. Consulte Criar e gerenciar um Banco de Dados do Azure para rede virtual de servidor flexível MySQL usando a CLI do Azure.

  2. Caso tenha criado um servidor flexível com acesso público (endereços IP permitidos) , será possível adicionar seu endereço IP local à lista de regras de firewall no servidor. Consulte Criar e gerenciar regras de firewall de servidor flexível do Banco de Dados do Azure para MySQL usando a CLI do Azure.

Instalar o PHP

Instalar o PHP em seu próprio servidor ou crie um aplicativo Web do Azure que inclua o PHP. Consulte Criar e gerenciar regras de firewall para saber como criar regras de firewall.

  1. Baixar o PHP 7.1.4 versão.
  2. 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 à instância de servidor flexível do Banco de Dados do Azure para MySQL. Será necessário obter um nome do servidor totalmente qualificado e as credenciais de entrada.

  1. Entre no portal do Azure.
  2. No menu à esquerda no portal do Azure, selecione Todos os recursos e pesquise o servidor que você criou (como mydemoserver).
  3. Selecione o nome do servidor.
  4. 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.

Como conectar-se a um servidor flexível usando TLS/SSL no PHP

Para estabelecer uma conexão criptografada com um servidor flexível por TLS/SSL do aplicativo, consulte os exemplos de código a seguir. Será possível baixar o certificado necessário para se comunicar por TLS/SSL de https://dl.cacerts.digicert.com/DigiCertGlobalRootCA.crt.pem

$conn = mysqli_init();
mysqli_ssl_set($conn,NULL,NULL, "/var/www/html/DigiCertGlobalRootCA.crt.pem", NULL, NULL);
mysqli_real_connect($conn, 'mydemoserver.mysql.database.azure.com', 'myadmin', 'yourpassword', 'quickstartdb', 3306, MYSQLI_CLIENT_SSL);
if (mysqli_connect_errno($conn)) {
die('Failed to connect to MySQL: '.mysqli_connect_error());
}

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.

O código usa a classe (mysqli) Extensão aprimorada MySQL classe (mysqli) incluída em PHP. Os métodos de chamadas de código mysqli_init e mysqli_real_connect para se conectar ao MySQL. Em seguida, ele chama o método mysqli_query para executar a consulta. Em seguida, ele chama o método mysqli_close para fechar a conexão.

Substitua os parâmetros host, username, password e db_name pelos seus próprios valores.

<?php
$host = 'mydemoserver.mysql.database.azure.com';
$username = 'myadmin';
$password = 'your_password';
$db_name = 'your_database';

//Establishes the connection
$conn = mysqli_init();
mysqli_real_connect($conn, $host, $username, $password, $db_name, 3306);
if (mysqli_connect_errno($conn)) {
die('Failed to connect to MySQL: '.mysqli_connect_error());
}

// 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");
}

//Close the connection
mysqli_close($conn);
?>

Inserir dados

Use o código a seguir para se conectar e inserir dados usando uma instrução SQL INSERT.

O código usa a classe (mysqli) Extensão aprimorada MySQL classe (mysqli) incluída em PHP. O código usa o método mysqli_prepare para criar um instrução insert preparada, associa parâmetros a cada valor de coluna inserido usando o método mysqli_stmt_bind_param. O código executa a instrução usando o método mysqli_stmt_execute e depois fecha a instrução usando o método mysqli_stmt_close.

Substitua os parâmetros host, username, password e db_name pelos seus próprios valores.

<?php
$host = 'mydemoserver.mysql.database.azure.com';
$username = 'myadmin';
$password = 'your_password';
$db_name = 'your_database';

//Establishes the connection
$conn = mysqli_init();
mysqli_real_connect($conn, $host, $username, $password, $db_name, 3306);
if (mysqli_connect_errno($conn)) {
die('Failed to connect to MySQL: '.mysqli_connect_error());
}

//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);
}

// Close the connection
mysqli_close($conn);
?>

Ler dados

Use o código a seguir para conectar-se e ler os dados usando uma instrução SQL SELECT. O código usa a classe (mysqli) Extensão aprimorada MySQL classe (mysqli) incluída em PHP. O código usa o método mysqli_query para executar a consulta sql e o método mysqli_fetch_assoc para buscar as linhas resultantes.

Substitua os parâmetros host, username, password e db_name pelos seus próprios valores.

<?php
$host = 'mydemoserver.mysql.database.azure.com';
$username = 'myadmin';
$password = 'your_password';
$db_name = 'your_database';

//Establishes the connection
$conn = mysqli_init();
mysqli_real_connect($conn, $host, $username, $password, $db_name, 3306);
if (mysqli_connect_errno($conn)) {
die('Failed to connect to MySQL: '.mysqli_connect_error());
}

//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);
}

//Close the connection
mysqli_close($conn);
?>

Atualizar dados

Use o código a seguir para conectar-se e atualizar os dados usando uma instrução SQL UPDATE.

O código usa a classe (mysqli) Extensão aprimorada MySQL classe (mysqli) incluída em PHP. O código usa o método mysqli_prepare para criar uma instrução update preparada e associa os parâmetros de cada valor de coluna atualizada usando o método mysqli_stmt_bind_param. O código executa a instrução usando o método mysqli_stmt_execute e depois fecha a instrução usando o método mysqli_stmt_close.

Substitua os parâmetros host, username, password e db_name pelos seus próprios valores.

<?php
$host = 'mydemoserver.mysql.database.azure.com';
$username = 'myadmin';
$password = 'your_password';
$db_name = 'your_database';

//Establishes the connection
$conn = mysqli_init();
mysqli_real_connect($conn, $host, $username, $password, $db_name, 3306);
if (mysqli_connect_errno($conn)) {
die('Failed to connect to MySQL: '.mysqli_connect_error());
}

//Run the Update statement
$product_name = 'BrandNewProduct';
$new_product_price = 15.1;
if ($stmt = mysqli_prepare($conn, "UPDATE Products SET Price = ? WHERE ProductName = ?")) {
mysqli_stmt_bind_param($stmt, 'ds', $new_product_price, $product_name);
mysqli_stmt_execute($stmt);
printf("Update: Affected %d rows\n", mysqli_stmt_affected_rows($stmt));

//Close the connection
mysqli_stmt_close($stmt);
}

mysqli_close($conn);
?>

Excluir dados

Use o código a seguir para conectar-se e ler os dados usando uma instrução SQL DELETE.

O código usa a classe (mysqli) Extensão aprimorada MySQL classe (mysqli) incluída em PHP. O código usa o método mysqli_prepare para criar uma instrução delete preparada e associa os parâmetros da cláusula where na instrução usando o método mysqli_stmt_bind_param. O código executa a instrução usando o método mysqli_stmt_execute e depois fecha a instrução usando o método mysqli_stmt_close.

Substitua os parâmetros host, username, password e db_name pelos seus próprios valores.

<?php
$host = 'mydemoserver.mysql.database.azure.com';
$username = 'myadmin';
$password = 'your_password';
$db_name = 'your_database';

//Establishes the connection
$conn = mysqli_init();
mysqli_real_connect($conn, $host, $username, $password, $db_name, 3306);
if (mysqli_connect_errno($conn)) {
die('Failed to connect to MySQL: '.mysqli_connect_error());
}

//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);
}

//Close the connection
mysqli_close($conn);
?>

Próximas etapas