快速入門:使用 PHP 查詢 Azure SQL 資料庫或 Azure SQL 受控執行個體資料庫
適用於: Azure SQL 資料庫 Azure SQL 受控執行個體
本文示範如何使用 PHP 連線到 Azure SQL 資料庫或 Azure SQL 受控執行個體資料庫。 隨後,您可以使用 T-SQL 陳述式查詢資料。
必要條件
若要完成本快速入門,您需要:
具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶。
Azure SQL 資料庫或 Azure SQL 受控執行個體中的資料庫。 您可以使用其中一個快速入門,以建立資料庫並加以設定:
動作 SQL Database SQL 受控執行個體 Azure VM 上的 SQL Server 建立 入口網站 入口網站 入口網站 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 Database] 或 [SQL 受控執行個體] 頁面。
在 [概觀] 頁面上,針對 Azure SQL 資料庫資料庫檢閱 [伺服器名稱] 旁的完整伺服器名稱;若為 Azure SQL 受控執行個體或 Azure VM 上的 SQL Server,則檢閱 [主機] 旁的完整伺服器名稱 (或 IP 位址)。 若要複製伺服器名稱或主機名稱,請將滑鼠暫留在其上方,然後選取 [複製]圖示。
注意
如需 Azure VM 上的 SQL Server 連線資訊,請參閱連線到 SQL Server 執行個體。
新增查詢資料庫的程式碼
在您慣用的文字編輯器中,建立名為 sqltest.php 的新檔案。
以下列程式碼取代其內容。 然後,為您的伺服器、資料庫、使用者和密碼新增適當的值。
<?php $serverName = "your_server.database.windows.net"; // 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 個資料列已傳回,然後關閉應用程式視窗。