빠른 시작: PHP를 사용하여 Azure Database for PostgreSQL - 유연한 서버에서 데이터 연결 및 쿼리
적용 대상: Azure Database for PostgreSQL - 유연한 서버
이 빠른 시작에서는 PHP 애플리케이션을 사용하여 Azure Database for PostgreSQL에 연결하는 방법을 보여 줍니다. SQL 문을 사용하여 데이터베이스의 데이터를 쿼리, 삽입, 업데이트 및 삭제하는 방법을 보여 줍니다. 이 문서의 단계에서는 PHP를 사용하여 개발하는 데 익숙하고 Azure Database for PostgreSQL 작업에 익숙하지 않은 것으로 가정합니다.
필수 조건
이 빠른 시작에서는 Azure Database for PostgreSQL - 유연한 서버의 인스턴스 만들기에서 만든 리소스를 시작점으로 사용합니다.
PHP 설치
서버에 PHP를 설치하거나 PHP를 포함하는 Azure 웹앱을 만듭니다.
Windows
- PHP 7.1.4 비스레드 안전(x64) 버전 다운로드
- PHP를 설치하고 PHP 매뉴얼에서 자세한 구성 정보 참조
- 이 코드는 PHP 설치에 포함된 pgsql 클래스(ext/php_pgsql.dll)를 사용합니다.
- 일반적으로
C:\Program Files\PHP\v7.1\php.ini
에 있는 php.ini 구성 파일을 편집하여 pgsql 확장을 활성화했습니다. 구성 파일에는extension=php_pgsql.so
텍스트가 있는 줄이 포함되어야 합니다. 표시되지 않으면 텍스트를 추가하고 파일을 저장합니다. 텍스트가 있지만 세미콜론 접두사로 주석 처리된 경우 세미콜론을 제거하여 텍스트의 주석 처리를 제거합니다.
Linux(Ubuntu)
- PHP 7.1.4 비스레드 안전(x64) 버전 다운로드
- PHP를 설치하고 PHP 매뉴얼에서 자세한 구성 정보 참조
- 이 코드는 pgsql 클래스(php_pgsql.so)를 사용합니다.
sudo apt-get install php-pgsql
을 실행하여 설치합니다. /etc/php/7.0/mods-available/pgsql.ini
구성 파일을 편집하여 pgsql 확장을 활성화했습니다. 구성 파일에는extension=php_pgsql.so
텍스트가 있는 줄이 포함되어야 합니다. 표시되지 않으면 텍스트를 추가하고 파일을 저장합니다. 텍스트가 있지만 세미콜론 접두사로 주석 처리된 경우 세미콜론을 제거하여 텍스트의 주석 처리를 제거합니다.
macOS
- PHP 7.1.4 버전 다운로드
- PHP를 설치하고 PHP 매뉴얼에서 자세한 구성 정보 참조
연결 정보 가져오기
PostgreSQL용 Azure Database에 연결하는 데 필요한 연결 정보를 가져옵니다. 정규화된 서버 이름 및 로그인 자격 증명이 필요합니다.
- Azure Portal에 로그인합니다.
- Azure Portal의 왼쪽 메뉴에서 모든 리소스를 선택한 다음, 만든 서버(예: mydemoserver)를 검색합니다.
- 서버 이름을 선택합니다.
- 서버의 개요 패널에 있는 서버 이름과 서버 관리자 로그인 이름을 기록해 둡니다. 암호를 잊어버리면 이 패널에서 암호를 재설정할 수 있습니다.
테이블 연결 및 생성
다음 코드를 사용하여 CREATE TABLE SQL 문을 사용하여 테이블을 연결하고 만든 다음 INSERT INTO SQL 문을 사용하여 테이블에 행을 추가합니다.
코드 호출 메서드 pg_connect() 는 Azure Database for PostgreSQL에 연결하는 데 사용됩니다. 그런 다음 pg_query() 메서드를 여러 번 호출하여 여러 명령을 실행하고 pg_last_error()를 호출하여 매번 오류가 발생했는지 세부 정보를 확인합니다. 그런 다음 메서드 pg_close()를 호출하여 연결을 닫습니다.
, $database
및 $user
$password
매개 변수를 $host
값으로 바꿉다.
<?php
// Initialize connection variables.
$host = "mydemoserver.postgres.database.azure.com";
$database = "mypgsqldb";
$user = "mylogin@mydemoserver";
$password = "<server_admin_password>";
// Initialize connection object.
$connection = pg_connect("host=$host dbname=$database user=$user password=$password")
or die("Failed to create connection to database: ". pg_last_error(). "<br/>");
print "Successfully created a connection to the database.<br/>";
// Drop the previous table of the same name if one exists.
$query = "DROP TABLE IF EXISTS inventory;";
pg_query($connection, $query)
or die("Encountered an error when executing given sql statement: ". pg_last_error(). "<br/>");
print "Finished dropping table (if existed).<br/>";
// Create table.
$query = "CREATE TABLE inventory (id serial PRIMARY KEY, name VARCHAR(50), quantity INTEGER);";
pg_query($connection, $query)
or die("Encountered an error when executing given sql statement: ". pg_last_error(). "<br/>");
print "Finished creating table.<br/>";
// Insert some data into the table.
$name = '\'banana\'';
$quantity = 150;
$query = "INSERT INTO inventory (name, quantity) VALUES ($name, $quantity);";
pg_query($connection, $query)
or die("Encountered an error when executing given sql statement: ". pg_last_error(). "<br/>");
$name = '\'orange\'';
$quantity = 154;
$query = "INSERT INTO inventory (name, quantity) VALUES ($name, $quantity);";
pg_query($connection, $query)
or die("Encountered an error when executing given sql statement: ". pg_last_error(). "<br/>");
$name = '\'apple\'';
$quantity = 100;
$query = "INSERT INTO inventory (name, quantity) VALUES ($name, $quantity);";
pg_query($connection, $query)
or die("Encountered an error when executing given sql statement: ". pg_last_error()). "<br/>";
print "Inserted 3 rows of data.<br/>";
// Closing connection
pg_close($connection);
?>
데이터 읽기
SELECT SQL 문을 사용하여 데이터를 연결하고 읽으려면 다음 코드를 사용하세요.
코드 호출 메서드 pg_connect() 는 Azure Database for PostgreSQL에 연결하는 데 사용됩니다. 그런 다음 pg_query() 메서드를 호출하여 SELECT 명령을 실행하고, 결과 집합에 결과를 보관하고, 오류가 발생할 때마다 pg_last_error() 메서드를 호출하여 세부 정보를 확인합니다. 결과 집합을 읽으려면 루프에 행별로 pg_fetch_row() 메서드를 호출하고, 행 데이터가 각 배열 위치에 열당 데이터 값이 하나 있는 배열 $row
를 검색합니다. 결과 집합을 해제하려면 pg_free_result() 메서드를 호출합니다. 그런 다음 pg_close() 메서드를 호출하여 연결을 닫습니다.
, $database
및 $user
$password
매개 변수를 $host
값으로 바꿉다.
<?php
// Initialize connection variables.
$host = "mydemoserver.postgres.database.azure.com";
$database = "mypgsqldb";
$user = "mylogin@mydemoserver";
$password = "<server_admin_password>";
// Initialize connection object.
$connection = pg_connect("host=$host dbname=$database user=$user password=$password")
or die("Failed to create connection to database: ". pg_last_error(). "<br/>");
print "Successfully created a connection to the database. <br/>";
// Perform some SQL queries over the connection.
$query = "SELECT * from inventory";
$result_set = pg_query($connection, $query)
or die("Encountered an error when executing given sql statement: ". pg_last_error(). "<br/>");
while ($row = pg_fetch_row($result_set))
{
print "Data row = ($row[0], $row[1], $row[2]). <br/>";
}
// Free result_set
pg_free_result($result_set);
// Closing connection
pg_close($connection);
?>
데이터 업데이트
UPDATE SQL 문을 사용하여 데이터를 연결하고 업데이트하려면 다음 코드를 사용하세요.
코드 호출 메서드 pg_connect() 는 Azure Database for PostgreSQL에 연결하는 데 사용됩니다. 그런 다음 pg_query() 메서드를 호출하여 명령을 실행하고 오류가 발생할 때마다 pg_last_error() 메서드를 호출하여 세부 정보를 확인합니다. 그런 다음 pg_close() 메서드를 호출하여 연결을 닫습니다.
, $database
및 $user
$password
매개 변수를 $host
값으로 바꿉다.
<?php
// Initialize connection variables.
$host = "mydemoserver.postgres.database.azure.com";
$database = "mypgsqldb";
$user = "mylogin@mydemoserver";
$password = "<server_admin_password>";
// Initialize connection object.
$connection = pg_connect("host=$host dbname=$database user=$user password=$password")
or die("Failed to create connection to database: ". pg_last_error(). ".<br/>");
Print "Successfully created a connection to the database. <br/>";
// Modify some data in a table.
$new_quantity = 200;
$name = '\'banana\'';
$query = "UPDATE inventory SET quantity = $new_quantity WHERE name = $name;";
pg_query($connection, $query)
or die("Encountered an error when executing given sql statement: ". pg_last_error(). ".<br/>");
print "Updated 1 row of data. </br>";
// Closing connection
pg_close($connection);
?>
데이터 삭제
DELETE SQL 문을 사용하여 데이터를 연결하고 읽으려면 다음 코드를 사용하세요.
코드 호출 메서드 pg_connect() 는 Azure Database for PostgreSQL에 연결하는 데 사용됩니다. 그런 다음 pg_query() 메서드를 호출하여 명령을 실행하고 오류가 발생할 때마다 pg_last_error() 메서드를 호출하여 세부 정보를 확인합니다. 그런 다음 pg_close() 메서드를 호출하여 연결을 닫습니다.
, $database
및 $user
$password
매개 변수를 $host
값으로 바꿉다.
<?php
// Initialize connection variables.
$host = "mydemoserver.postgres.database.azure.com";
$database = "mypgsqldb";
$user = "mylogin@mydemoserver";
$password = "<server_admin_password>";
// Initialize connection object.
$connection = pg_connect("host=$host dbname=$database user=$user password=$password")
or die("Failed to create connection to database: ". pg_last_error(). ". </br>");
print "Successfully created a connection to the database. <br/>";
// Delete some data from a table.
$name = '\'orange\'';
$query = "DELETE FROM inventory WHERE name = $name;";
pg_query($connection, $query)
or die("Encountered an error when executing given sql statement: ". pg_last_error(). ". <br/>");
print "Deleted 1 row of data. <br/>";
// Closing connection
pg_close($connection);
?>
리소스 정리
이 빠른 시작에서 사용된 모든 리소스를 정리하려면 다음 명령을 사용하여 리소스 그룹을 삭제합니다.
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes
Azure Database for PostgreSQL 제품 팀과 제안 및 버그를 공유합니다.
관련 콘텐츠
- Azure Database for PostgreSQL - 유연한 서버를 관리합니다.
- 빠른 시작: Python을 사용하여 Azure Database for PostgreSQL 유연한 서버 인스턴스에서 데이터를 연결하고 쿼리합니다.
- 빠른 시작: Java를 사용하여 Azure Database for PostgreSQL 유연한 서버 인스턴스에서 데이터를 연결하고 쿼리합니다.
- 빠른 시작: .NET(C#)을 사용하여 Azure Database for PostgreSQL 유연한 서버의 인스턴스에서 데이터를 연결하고 쿼리합니다.
- 빠른 시작: Go 언어를 사용하여 Azure Database for PostgreSQL 유연한 서버 인스턴스에서 데이터를 연결하고 쿼리합니다.
- 빠른 시작: Azure CLI를 사용하여 Azure Database for PostgreSQL 유연한 서버 인스턴스에서 데이터를 연결하고 쿼리합니다.
- 빠른 시작: Azure Database for PostgreSQL - Power BI의 유연한 서버에서 데이터를 가져옵니다.