cubrid_prepare
(PECL CUBRID >= 8.3.0)
cubrid_prepare - 실행할 SQL문 준비
설명
cubrid_prepare(resource $conn_identifier
, string $prepare_stmt
, int $option
= 0): resource
cubrid_prepare() 함수는 주어진 연결 핸들에 미리 컴파일된 SQL 문을 나타내는 일종의 API이다. 이 미리 컴파일된 SQL 문은 cubrid_prepare()에 포함될 것이다.
따라서 이 명령문을 효과적으로 사용하여 여러 번 반복적으로 실행하거나 긴 데이터를 처리할 수 있습니다. 하나의 명령문만 사용할 수 있으며 매개변수는 SQL문의 해당 영역에 물음표(?)를 표시할 수 있습니다. INSERT 문의 VALUES 절 또는 WHERE 절에 값을 바인딩할 때 매개변수를 추가합니다. cubrid_bind() 함수를 통해서만 값을 MARK(?)에 바인딩할 수 있다는 점에 유의한다.
매개변수
conn_identifier
- 연결 식별자입니다.
prepare_stmt
- Prepare query.
option
- OID 반환 옵션
CUBRID_INCLUDE_OID
.
반환 값
프로세스가 성공하면 요청 식별자이고 실패하면 false
입니다.
Examples
예제 #1 cubrid_prepare() 예제
<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$sql = <<<EOD
SELECT g.event_code, e.name
FROM game g
JOIN event e ON g.event_code=e.code
WHERE host_year = ? AND event_code NOT IN (SELECT event_code FROM game WHERE host_year=?) GROUP BY event_code;
EOD;
$req = cubrid_prepare($conn, $sql);
cubrid_bind($req, 1, 2004);
cubrid_bind($req, 2, 2000);
cubrid_execute($req);
$row_num = cubrid_num_rows($req);
printf("There are %d event that exits in 2004 olympic but not in 2000. For example:\n\n", $row_num);
printf("%-15s %s\n", "Event_code", "Event_name");
printf("----------------------------\n");
$row = cubrid_fetch_assoc($req);
printf("%-15d %s\n", $row["event_code"], $row["name"]);
$row = cubrid_fetch_assoc($req);
printf("%-15d %s\n", $row["event_code"], $row["name"]);
cubrid_disconnect($conn);
?>
위의 예는 다음을 출력합니다.
There are 27 event that exits in 2004 olympic but not in 2000. For example: Event_code Event_name ---------------------------- 20063 +91kg 20070 64kg
기타
- cubrid_execute() - 준비된 SQL 문 실행
- cubrid_bind() - 준비된 명령문에 변수를 매개변수로 바인딩