빠른 시작: PHP를 사용하여 Azure SQL Database 또는 Azure SQL Managed Instance의 데이터베이스 쿼리
적용 대상: Azure SQL 데이터베이스 Azure SQL Managed Instance
이 문서에서는 PHP를 사용하여 Azure SQL Database 또는 Azure SQL Managed Instance의 데이터베이스에 연결하는 방법을 보여 줍니다. 그런 다음 T-SQL 문을 사용하여 데이터를 쿼리합니다.
필수 조건
이 빠른 시작을 완료하려면 다음이 필요합니다.
활성 구독이 있는 Azure 계정. 체험 계정을 만듭니다.
Azure SQL Database 또는 Azure SQL Managed Instance의 데이터베이스. 다음 빠른 시작 중 하나를 사용하여 데이터베이스를 만들고 구성할 수 있습니다.
작업 SQL Database SQL Managed Instance 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 복원 또는 가져오기 Important
이 문서의 스크립트는
AdventureWorks2022
데이터베이스를 사용하도록 작성되었습니다. SQL Managed Instance의 경우AdventureWorks2022
데이터베이스를 인스턴스 데이터베이스로 가져오거나 이 문서의 스크립트를 수정하여 Wide World Importers 데이터베이스를 사용해야 합니다.운영 체제에 맞게 설치된 PHP 관련 소프트웨어
서버 연결 정보 가져오기
Azure SQL 데이터베이스의 데이터베이스에 연결하는 데 필요한 연결 정보를 가져옵니다. 다음 절차를 수행하려면 정규화된 서버 이름이나 호스트 이름, 데이터베이스 이름 및 로그인 정보가 필요합니다.
Azure Portal에 로그인합니다.
SQL Databases 또는 SQL Managed Instances 페이지로 이동합니다.
개요 페이지에서 Azure SQL Database의 데이터베이스에 대한 서버 이름 옆에 있는 정규화된 서버 이름 또는 Azure VM의 Azure SQL Managed Instance 또는 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개 행이 반환되는지 확인한 다음, 애플리케이션 창을 닫습니다.