首页 > 解决方案 > php 文件未连接到 azure 数据库(应用服务的 mySQL-in-app)

问题描述

我在 azure 中使用 App Service 的“mysql-in-app”。我想使用维护页面添加、删除、编辑和查看数据。我为此编写了 php 代码。我无法连接到 mysql 数据库。

我已经使用 -> 在本地尝试了本地数据库

$conn = mysqli_connect('127.0.0.1','root','','samdb');

它工作正常。

但我正在尝试使用 this-> 连接到 azure db

$conn = mysqli_connect('127.0.0.1:50721','azure','6#vWHD_$','localdb'); 

在这里它不起作用。

标签: phpdatabase-connectionazure-sql-database

解决方案


首先,您需要获取连接到 Azure Database for MySQL 所需的连接信息。您需要完全限定的服务器名称和登录凭据。

在此处输入图像描述

使用以下代码通过 CREATE TABLE SQL 语句连接并创建表。

该代码使用 PHP 中包含的 MySQL 改进扩展 (mysqli) 类。代码调用方法 mysqli_init 和 mysqli_real_connect 连接到 MySQL。然后它调用方法 mysqli_query 来运行查询。然后它调用方法 mysqli_close 来关闭连接。

将主机、用户名、密码和 db_name 参数替换为您自己的值。

<?php
$host = 'mydemoserver.mysql.database.azure.com';
$username = 'myadmin@mydemoserver';
$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);
?>

推荐阅读