질의 실행
다음은 질의 실행을 위한 기본 단계이다.
$con = cubrid_connect("192.168.1.12", 12345, "demodb");
if($con) {
$req = cubrid_execute($con, "select * from dept");
if($req) {
while ($row = cubrid_fetch($req)) {
echo $row["name"];
echo $row["position"];
}
cubrid_close_request($req);
}
cubrid_disconnect($con);
}
질의 결과의 열 타입과 이름
cubrid_column_types() 함수를 사용하여 열 타입이 들어있는 배열을 얻을 수 있고, cubrid_column_names() 함수를 사용하여 열의 이름이 들어있는 배열을 얻을 수 있다.
$req = cubrid_execute($con, "select * from person");
if($req) {
$coltypes = cubrid_column_types($req);
$colnames = cubrid_column_names($req);
while (list($key, $coltype) = each ($coltypes))
echo $coltype;
while (list($key, $colname) = each ($colnames))
echo $colname
cubrid_close_request(#req);
}
커서 조정
질의 결과의 위치를 설정할 수 있다. cubrid_move_cursor() 함수를 사용하여 커서를 세 가지 포인트(질의 결과의 처음, 현재 커서 위치, 질의 결과의 끝) 중 한 포인트로부터 일정한 위치로 이동할 수 있다.
$req = cubrid_execute($con, "select * from person");
if($req) {
cubrid_move_cursor ($req, 10, CUBRID_CURSOR_CURRENT);
while ($row = cubrid_fetch($req, CUBRID_ASSOC)) {
echo $row["id"];
echo $row["name"];
}
}
결과 배열 타입
cubrid_fetch() 함수의 결과에는 세가지 종류의 배열 타입 중 하나가 사용된다. cubrid_fetch() 함수가 호출될 때 배열의 타입을 결정할 수 있다. 그 중 하나인 연관배열은 문자열 색인을 사용한다. 두 번째로 수치배열은 숫자 순서 색인을 사용한다. 마지막 배열은 연관배열과 수치배열을 둘 다 포함한다.
클래스, 가상 클래스, 속성, 메소드, 트리거, 제약 조건 등 데이터베이스의 스키마 정보는 cubrid_schema() 함수를 호출하여 얻을 수 있다. cubrid_schema() 함수의 리턴 값은 2차원 배열이다.
$attrs=cubrid_schema($con,CUBRID_SCH_ATTRIBUTE,"person");
if ($attrs != -1) {
while (list ($key, $attr) = each($attrs)) {
echo $row["NAME"];
echo $row["DOMAIN"];
}
}
에러가 발생하면 대부분의 PHP 인터페이스 함수는 에러 메시지를 출력하고 false나 -1을 반환한다. cubrid_error_msg(), cubrid_error_code() 그리고 cubrid_error_code_facility() 함수를 사용하면 각각 에러 메시지, 에러 코드, 에러 기능 코드를 확인할 수 있다.
cubrid_error_code_facility() 함수의 결과 값은 CUBRID_FACILITY_DBMS (DBMS 에러), CUBRID_FACILITY_CAS (CAS 서버 에러), CUBRID_FACILITY_CCI (CCI 에러), CUBRID_FACILITY_CLIENT (PHP 모듈 에러) 중 하나이다.