CUBRID 특징

OID 사용

cubrid_execute() 함수에서 CUBRID_INCLUDE_OID 옵션을 업데이트할 수 있는 질의를 함께 사용하면 cubrid_current_oid() 함수를 통해 업데이트된 현재 행의 OID 값을 가져올 수 있다.

$req = cubrid_execute($con, "select * from person",
CUBRID_INCLUDE_OID);
if ($req) {
while ($row = cubrid_fetch ($req)) {
echo cubrid_current_oid ($req);
echo $row[°∞id°±];
echo $row[°∞name°±];
}
cubrid_close_request ($req);
}

OID를 사용하여 인스턴스의 모든 속성, 지정한 속성 또는 한 속성의 값을 얻을 수 있다.

만약 cubrid_get() 함수에 속성을 명시하지 않으면 모든 속성의 값을 반환한다(a). 만약 배열 데이터 타입으로 속성을 명시하면 지정한 속성 값이 들어있는 배열은 연관배열로 반환된다(b). 만약 문자열 타입으로 한 속성을 명시하면 속성의 값이 반환된다(c).

$attrarray = cubrid_get ($con, $oid); // (a)
$attrarray = cubrid_get ($con, $oid, array("id", "name")); // (b)
$attrarray = cubrid_get ($con, $oid, "id"); // (c)

OID를 사용하여 인스턴스의 속성 값을 갱신할 수도 있다. 하나의 속성의 값을 갱신하려면 속성 이름을 문자열 타입으로 명시하고 값을 명시한다(a). 다중 속성의 값을 설정하려면 속성 명과 값을 연관배열로 명시 해야 한다(b).

$cubrid_put ($con, $oid, "id", 1); // (a)
$cubrid_put ($con, $oid, array("id"=>1, "name"=>"Tomas")); // (b)

컬렉션 사용

$row = cubrid_fetch ($req);
$col = $row["customer"];
while (list ($key, $cust) = each ($col)) {
echo $cust;
}

$tels = cubrid_col_get ($con, $oid, "tels");
while (list ($key, $tel) = each ($tels)) {
echo $tel."\n";
}

$tels = cubrid_col_get ($con, $oid, "tels");
while (list ($key, $tel) = each ($tels)) {
$res = cubrid_set_drop ($con, $oid, "tel", $tel);
}
cubrid_commit ($con);

GLO 사용

GLO 데이터 타입은 데이터베이스에 파일을 저장하기 위해 사용된다.

cubrid_new_glo() 함수를 사용하면 GLO 인스턴스를 생성할 수 있고 생성된 인스턴스에 파일이 저장된다. cubrid_save_to_glo() 함수를 사용하면 명시한 GLO에 파일을 저장할 수 있다. cubrid_load_from_glo() 함수를 사용하면 GLO 인스턴스로부터 데이터를 읽어올 수 있다. cubrid_ send_glo() 함수를 사용하면 GLO 데이터를 PHP 표준 출력으로 전송할 수 있다.

$oid = $cubrid_new_glo ($con, "glo", "input.txt");
$cubrid_load_from_glo ($con, $oid, "output.txt");
Header ("Content-type: image/jpeg");
cubrid_send_glo ($con, $oid);