快速入门:使用 PHP 查询 Azure SQL 数据库中的数据库或 Azure SQL 托管实例
适用于: Azure SQL 数据库 Azure SQL 托管实例
本文演示了如何使用 PHP 连接到 Azure SQL 数据库或 Azure SQL 托管实例中的数据库。 然后即可使用 T-SQL 语句来查询数据。
先决条件
若要完成本快速入门,你需要:
具有活动订阅的 Azure 帐户。 创建试用版订阅。
Azure SQL 数据库或 Azure SQL 托管实例中的数据库。 可以根据下述快速入门之一,创建数据库,然后对其进行配置:
操作 SQL 数据库 SQL 托管实例 Azure VM 上的 SQL Server 创建 Portal Portal Portal CLI CLI PowerShell PowerShell PowerShell 配置 服务器级别 IP 防火墙规则 从 VM 进行连接 来自本地的连接 连接到 SQL Server 实例 加载数据 按快速入门加载的 Wide World Importers 还原 Wide World Importers 还原 Wide World Importers 从 GitHub 所提供的 BACPAC 文件还原或导入 Adventure Works 从 GitHub 所提供的 BACPAC 文件还原或导入 Adventure Works 重要
编写本文中的脚本是为了使用
AdventureWorks2022
数据库。 使用 SQL 托管实例时,必须将AdventureWorks2022
数据库导入一个实例数据库,或者修改本文中的脚本,以便使用 Wide World Importers 数据库。已为操作系统安装与 PHP 相关的软件:
MacOS,安装 PHP、ODBC 驱动程序,然后安装 PHP Driver for SQL Server。 请参阅步骤 1、2 和 3。
Linux,安装 PHP、ODBC 驱动程序,然后安装 PHP Driver for SQL Server。 请参阅步骤 1、2 和 3。
获取服务器连接信息
获取连接到 Azure SQL 数据库中的数据库所需的连接信息。 在后续过程中,将需要完全限定的服务器名称或主机名称、数据库名称和登录信息。
登录 Azure 门户。
导航到“SQL 数据库”或“SQL 托管实例”页。
在“概述”页上,在“Server 名称”旁查看 Azure SQL 数据库中的数据库的完全限定服务器名称,或在“Host”旁边查看 Azure VM 上的 Azure SQL 托管实例或 SQL Server 的完全限定服务器名称(或 IP 地址) 。 若要复制服务器名称或主机名称,请将鼠标悬停在其上方,然后选择“复制”图标。
注意
有关 Azure VM 上的 SQL Server 的连接信息,请参阅连接到 SQL Server 实例。
添加用于查询数据库的代码
在喜欢的文本编辑器中,创建新文件 sqltest.php。
将其内容替换为以下代码。 然后,为服务器、数据库、用户和密码添加相应的值。
<?php $serverName = "your_server.database.chinacloudapi.cn"; // update me $connectionOptions = array( "Database" => "your_database", // update me "Uid" => "your_username", // update me "PWD" => "your_password" // update me ); //Establishes the connection $conn = sqlsrv_connect($serverName, $connectionOptions); $tsql= "SELECT TOP 20 pc.Name as CategoryName, p.name as ProductName FROM [SalesLT].[ProductCategory] pc JOIN [SalesLT].[Product] p ON pc.productcategoryid = p.productcategoryid"; $getResults= sqlsrv_query($conn, $tsql); echo ("Reading data from table" . PHP_EOL); if ($getResults == FALSE) echo (sqlsrv_errors()); while ($row = sqlsrv_fetch_array($getResults, SQLSRV_FETCH_ASSOC)) { echo ($row['CategoryName'] . " " . $row['ProductName'] . PHP_EOL); } sqlsrv_free_stmt($getResults); ?>
运行代码
在命令提示符下运行此应用。
php sqltest.php
验证是否返回了前 20 行,然后关闭应用窗口。