Функции Язык программирования PHP

ovrimos_fetch_into

(PHP 4 >= 4.0.3)

ovrimos_fetch_into - извлекает ряд из результирующего набора.

Описание

bool ovrimos_fetch_into (int result_id, array result_array [, string how [, int rownumber]])

ovrimos_fetch_into() извлекает ряд из результирующего набора в 'result_array', который должен передаваться по ссылке. То, какой ряд извлекается, определяется двумя последними параметрами. 'how' - это один из: 'Forward' (default), 'Назад', 'First', 'Last', 'Absolute', соответствующих направлениям от текущей позиции вперёд, назад, вперёд от начала, назад от конца и абсолютной позиции от начала (эквивалент 'first', но требует 'rownumber'). Регистр не имеет значения. 'Rownumber' это параметр по выбору, кроме абсолютного позиционирования, где необходим. Возвращает TRUE или FALSE.

Пример 1. Пример извлечения
<?php 
$conn=ovrimos_connect ("neptune", "8001", "admin", "password"); if ($conn!=0) 
{ echo "Connection ok!"; $res=ovrimos_exec ($conn,"select table_id, table_name 
from sys.tables"); if ($res != 0) { echo "Statement ok!"; if (ovrimos_fetch_into 
($res, &$row)) { list ($table_id, $table_name) = $row; echo "table_id=".$table_id.", 
table_name=".$table_name."\n"; if (ovrimos_fetch_into ($res, &$row)) { list 
($table_id, $table_name) = $row; echo "table_id=".$table_id.", table_name=".$table_name."\n"; 
} else { echo "Next: error\n"; } } else { echo "First: error\n"; } ovrimos_free_result 
($res); } ovrimos_close($conn); } ?>

В этом примере извлекается ряд.


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

Ссылки внутри конструктора

Последний пример. Попытайтесь в нём разобраться.

class A { function A($i) { $this->value = $i; // попытайтесь понять, 
почему ссылка нам здесь не нужна $this->b = new B($this); } function createRef() 
{ $this->c = new B($this); } function echoValue() { echo "<br>","class 
",get_class($this),': ',$this->value; } } class B { function B(&$a) { 
$this->a = &$a; } function echoValue() { echo "<br>","class ",get_class($this),': 
',$this->a->value; } } // попытайтесь понять, почему использование простой 
копии здесь даст // нежелательный результат в строке *-marked $a =& new A(10); 
$a->createRef(); $a->echoValue(); $a->b->echoValue(); $a->c->echoValue(); 
$a->value = 11; $a->echoValue(); $a->b->echoValue(); // * $a->c->echoValue(); 
/* output: class A: 10 class B: 10 class B: 10 class A: 11 class B: 11 class B: 
11 */