Новые книги

Что такое креатив? Что вдохновляет нас на творчество? И как стать более креативным? Живая легенда рекламной индустрии Джон Хэгерти предлагает 50 блестящих и провокационных идей о том, как развить в себе креативность и добиться успеха в творческой деятельности. Все люди творческие, но лишь немногие могут зарабатывать этим на жизнь. Хотите стать одним из таких счастливчиков?
Французский бестселлер, доступно объясняющий, что такое Блокчейн, где применяется эта технология, как она связана с криптовалютой и кто ее создатель. Для ее чтения и понимания не нужно обладать никакими специальными знаниями – все описано очень просто и внятно и, что самое важное, правильно.

OCINewCursor

Учебник РНР
НазадВперёд

OCINewCursor

(PHP 3>= 3.0.8, PHP 4)

OCINewCursor - возвращает новый курсор (Statement-Handle/дескриптор оператора).

Описание

int OCINewCursor (int conn)

OCINewCursor() выделяет новый дескриптор оператора в специфицированном соединении.

Пример 1. Использование REF CURSOR из хранимой процедуры
<?php   
// предположим, что ваша хранимая процедура info.output возвращает ref-курсор в :data

$conn = OCILogon("scott","tiger");
$curs = OCINewCursor($conn);
$stmt = OCIParse($conn,"begin info.output(:data); end;");

ocibindbyname($stmt,"data",&$curs,-1,OCI_B_CURSOR);
ociexecute($stmt);
ociexecute($curs);

while (OCIFetchInto($curs,&$data)) {
    var_dump($data);
}
 
OCIFreeStatement($stmt);
OCIFreeCursor($curs);
OCILogoff($conn);
?>
Пример 2. Использование REF CURSOR в операторе выборки/select
<?php   
print "<HTML><BODY>";
$conn = OCILogon("scott","tiger");
$count_cursor = "CURSOR(select count(empno) num_emps from emp " .
                "where emp.deptno = dept.deptno) as EMPCNT from dept";
$stmt = OCIParse($conn,"select deptno,dname,$count_cursor");

ociexecute($stmt);
print "<TABLE BORDER=\"1\">";
print "<TR>";
print "<TH>DEPT NAME</TH>";
print "<TH>DEPT #</TH>";
print "<TH># EMPLOYEES</TH>";
print "</TR>";

while (OCIFetchInto($stmt,&$data,OCI_ASSOC)) {
    print "<TR>";
    $dname  = $data["DNAME"];
    $deptno = $data["DEPTNO"];
    print "<TD>$dname</TD>";
    print "<TD>$deptno</TD>";
    ociexecute($data["EMPCNT"]);
    while (OCIFetchInto($data["EMPCNT"],&$subdata,OCI_ASSOC)) {
        $num_emps = $subdata["NUM_EMPS"];
        print  "<TD>$num_emps</TD>";
    }
    print "</TR>";
}
print "</TABLE>";
print "</BODY></HTML>";
OCIFreeStatement($stmt);
OCILogoff($conn);
?>

Назад Оглавление Вперёд
OCINewCollection ВверхOCINewDescriptor