Вывод простых значений

bzik

Новичок
Вывод простых значений

Помогите, новичку плиз. Так не получается...

$sth =OCIParse($conn, "
BEGIN
RETURN 100;
END;
");
// 1-й вариант
echo OCIResult($sth);

// 2-й вариант
array($res);
while(OCIFetchInto($sth, &$res, OCI_ASSOC)){
print_r($res);
}
 

bzik

Новичок
увидеть заветную циферку 100 ;)

-~{}~ 12.07.05 12:04:

Вообще мне нужно получить результат выполнения оракл-функции. может и ретюрн не нужен, но как тогда - не знаю :(
Например фун-я возвращает какое-то значение, как можно его получить?
begin
func();
end;
 

trustno1

Новичок
нужно использовать BIND-переменные (связывать переменные процедуры/функции с переменными PHP), а return 100 тебе ничего не возвратит.
В мане есть примеры.
 

bzik

Новичок
ясно, но что-то не срабатывает...
$sth =OCIParse($conn, "
begin
:val := func();
end;
");
OCIBindByName($sth,":val",&$val,32);
echo $val;

-~{}~ 12.07.05 12:21:

сорри, виноват, все работает. спасибо!
 

chira

Новичок
Код:
if(!($a =OCIParse($conn, "BEGIN :RES := 100; END;"))){
	$err = OCIError($a);
	echo $err["message"];
	exit;
}

$res = 0;
echo $res.'<br>';
OCIBindByName($a, ":RES", $res, -1);

if (!OCIExecute($a)){
	$err = OCIError($a);
	echo $err["message"];
	exit;
}

echo $res;
 
Сверху