
pg_execute 함수는 SQL 명령을 실행할 때, 파라미터를 넣기 위해 $1, $2, $3 등과 같은 식별자를 사용합니다. 이 식별자에 실제 값을 넣어야 합니다.
예를 들어, SELECT * FROM users WHERE id = $1; 이라는 SQL 명령을 실행할 때, id 값은 다음과 같이 넣을 수 있습니다.
#hostingforum.kr
c
PGresult *result;
char *sql = "SELECT * FROM users WHERE id = $1;";
int id = 10;
result = PQexec(conn, sql);
if (PQresultStatus(result) != PGRES_COMMAND_OK)
{
// 오류 처리
}
// 파라미터를 넣기 위해 PQexecParams 함수를 사용합니다.
PQexecParams(conn, sql, 1, NULL, NULL, NULL, NULL, 0);
PQexecParams 함수의 8 번째 인자는 실제 파라미터 값을 넣어야 합니다. 이 경우, id 값은 10이 됩니다.
또한, 파라미터를 넣기 위해 PQexecParams 함수를 사용할 때, 파라미터의 타입을 지정해야 합니다. 예를 들어, id 값은 int 타입이므로, NULL 대신에 int 타입의 값을 넣어야 합니다.
#hostingforum.kr
c
int id = 10;
char *sql = "SELECT * FROM users WHERE id = $1;";
PQexecParams(conn, sql, 1, NULL, NULL, &id, NULL, 1);
이 경우, id 값은 10이 됩니다.
2025-06-04 15:02