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:
- Criar um Banco de Dados do Azure para instância de servidor flexível do MySQL usando o portal do Azure
- Criar um Banco de Dados do Azure para instância de servidor flexível do MySQL usando a CLI do Azure
Como preparar sua estação de trabalho cliente
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.
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.
- 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 à 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.
- Entre 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.
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
- Conectividade criptografada usando o TLS 1.2 (Transport Layer Security) no Banco de Dados do Azure para servidor flexível MySQL.
- Saiba mais sobre Rede no Banco de Dados do Azure para servidor flexível MySQL.
- Crie e gerencie regras de firewall de servidor flexível do Banco de Dados do Azure para MySQL usando o portal do Azure.
- Crie e gerencie o Banco de Dados do Azure para a rede virtual do servidor flexível MySQL usando o portal do Azure.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de