快速入门:使用 PHP 连接到 Azure Database for MySQL 并查询其中的数据

适用于:Azure Database for MySQL - 单一服务器

重要

Azure Database for MySQL 单一服务器即将停用。 强烈建议升级到 Azure Database for MySQL 灵活服务器。 若要详细了解如何迁移到 Azure Database for MySQL 灵活服务器,请参阅 Azure Database for MySQL 单一服务器发生了什么情况?

注意

将要查看的是 Azure Database for MySQL 的新服务。 若要查看经典 MySQL Database for Azure 的文档,请访问此页

本快速入门演示了如何使用 PHP 应用程序连接到 Azure Database for MySQL。 同时还介绍了如何使用 SQL 语句在数据库中查询、插入、更新和删除数据。

先决条件

对于本快速入门,你需要:

注意

在本快速入门中,我们使用 MySQLi 库来管理连接和查询服务器。

获取连接信息

可以通过执行以下步骤,从 Azure 门户获取数据库服务器连接信息:

  1. 登录到 Azure 门户

  2. 导航到“Azure Databases for MySQL”页。 搜索并选择“Azure Database for MySQL”。 Find Azure Database for MySQL

  3. 选择 MySQL 服务器(如 mydemoserver)。

  4. 在“概述”页中,复制“服务器名称”旁边的完全限定的服务器名称,以及“服务器管理员登录名”旁边的管理员用户名 。 若要复制服务器名称或主机名称,请将鼠标悬停在其上方,然后选择“复制”图标。

重要

  • 如果忘记了密码,可以重置密码
  • 将 host、username、password 和 db_name 参数替换为你自己的值**

步骤 1:连接到服务器

SSL 默认为启用状态。 从本地环境进行连接可能需要下载 DigiCertGlobalRootCA SSL 证书。 此代码调用:

$host = 'mydemoserver.mysql.database.chinacloudapi.cn';
$username = 'myadmin@mydemoserver';
$password = 'your_password';
$db_name = 'your_database';

//Initializes MySQLi
$conn = mysqli_init();

mysqli_ssl_set($conn,NULL,NULL, "/var/www/html/DigiCertGlobalRootCA.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());
}

步骤 2:创建表

使用以下代码进行连接。 此代码调用:

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

步骤 3:插入数据

通过以下代码使用 INSERT SQL 语句插入数据。 此代码使用以下方法:

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

步骤 4:读取数据

在以下代码中使用 SELECT SQL 语句读取数据。 此代码使用以下方法:

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

步骤 5:删除数据

在以下代码中使用 DELETE SQL 语句删除行。 此代码使用以下方法:

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

清理资源

若要清理本快速入门中使用的所有资源,请使用以下命令删除该资源组:

az group delete \
    --name $AZ_RESOURCE_GROUP \
    --yes

后续步骤