라이브러리

[PHP] pg_query - 쿼리 실행




PHP에서 pg_query 사용하기

PHP에서 PostgreSQL 데이터베이스에 접속하고 쿼리를 실행하는 방법은 `pg_query` 함수를 사용하는 것입니다. 이 함수는 PostgreSQL 데이터베이스에 연결된 연결 객체를 필요로 하며, 쿼리를 실행하고 결과를 반환합니다.

pg_query 함수의 사용법


`pg_query` 함수는 다음과 같은 형식으로 사용됩니다.

#hostingforum.kr
php

$result = pg_query($connection, $query);



* `$connection` : PostgreSQL 데이터베이스에 연결된 연결 객체입니다.
* `$query` : 실행할 쿼리문입니다.

예제


다음 예제는 PostgreSQL 데이터베이스에 연결하고 쿼리를 실행하는 방법을 보여줍니다.

#hostingforum.kr
php

// PostgreSQL 데이터베이스에 연결하는 코드

$host = 'localhost';

$dbname = 'mydatabase';

$user = 'myuser';

$password = 'mypassword';



$connection = pg_connect("host=$host dbname=$dbname user=$user password=$password");



if (!$connection) {

    echo 'Error: ' . pg_last_error();

    exit;

}



// 쿼리문

$query = 'SELECT * FROM mytable';



// 쿼리 실행

$result = pg_query($connection, $query);



if (!$result) {

    echo 'Error: ' . pg_last_error();

    exit;

}



// 결과 출력

while ($row = pg_fetch_assoc($result)) {

    echo $row['column1'] . ' ' . $row['column2'] . "
";

}



// 연결 해제

pg_close($connection);



pg_query 함수의 반환값


`pg_query` 함수는 쿼리 실행 결과를 반환합니다. 반환값은 다음과 같습니다.

* `FALSE` : 쿼리 실행 중 오류가 발생한 경우
* `resource` : 쿼리 실행 결과를 저장한 리소스 객체

pg_query 함수의 오류 처리


`pg_query` 함수는 오류가 발생한 경우 `FALSE`를 반환합니다. 오류를 처리하기 위해 `pg_last_error` 함수를 사용할 수 있습니다.

#hostingforum.kr
php

if (!$result) {

    echo 'Error: ' . pg_last_error($connection);

    exit;

}



pg_query 함수의 참고사항


* PostgreSQL 데이터베이스에 연결된 연결 객체를 필요로 함
* 쿼리문은 문자열로 입력해야 함
* 쿼리문은 SQL Injection 공격에 취약하므로 주의해야 함

pg_query 함수의 대체 함수


PHP 5.3부터는 `pg_query` 함수 대신 `pg_query_params` 함수를 사용할 수 있습니다. `pg_query_params` 함수는 쿼리문에 파라미터를 사용할 수 있으므로 SQL Injection 공격에 취약하지 않습니다.

#hostingforum.kr
php

$result = pg_query_params($connection, $query, $params);



* `$params` : 쿼리문에 사용할 파라미터의 배열

pg_query 함수의 결론


`pg_query` 함수는 PostgreSQL 데이터베이스에 연결된 연결 객체를 필요로 하고, 쿼리문은 문자열로 입력해야 합니다. 쿼리문은 SQL Injection 공격에 취약하므로 주의해야 합니다. 대체 함수인 `pg_query_params` 함수를 사용할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 328 페이지

검색

게시물 검색