Мне нужно поместить результат курсора запроса в переменную PHP.Результатом выбора является число, которое мне нужно использовать позже.Есть какой-либо способ сделать это?(Я использую оракул 11g)
$query2 = "DECLARE
CURSOR cursore IS
SELECT example FROM etable FOR UPDATE of example;
BEGIN
OPEN cursore;
FETCH cursore INTO v_consulta;
UPDATE etable SET example = example + 1;
COMMIT;
CLOSE cursore;
END;";
В этом запросе мне нужно выбрать столбец, получить его значение и поместить его в переменную PHP.И затем мне нужно заблокировать его, чтобы предотвратить одновременное получение одинаковыми значениями перед обновлением.Это был лучший способ, который я нашел.Но я не могу взять результат выбора.
Ниже приведен весь код с FETCH и oci_bind_by_name
<?php
include "config.php";
$query2 = "DECLARE
CURSOR cursore IS
SELECT example FROM etable FOR UPDATE of example;
BEGIN
OPEN cursore;
FETCH cursore INTO v_consulta;
UPDATE etable SET example = example + 1;
COMMIT;
CLOSE cursore;
END;";
$s2 = oci_parse($c, $query2);
if (!$s2) {
$m2 = oci_error($c);
trigger_error('Could not parse statement: ' . $m['message'], E_USER_ERROR);
} //prepara para a execução
$r2 = oci_execute($s2);
if (!$r2){
$m2 = oci_error($s2);
trigger_error('Could not execute statement: ' . $m['message'], E_USER_ERROR);
}// executa a consulta
while (oci_fetch($s2)) {
echo oci_result($s2, 'v_consulta');
}
?>
Мне нужно взять значениеFETCH и поместите ir в переменную PHP.Возможно ли это?
Может быть, есть другой способ сделать запрос.(Я использую оракул 11g).
Я получаю эту ошибку:
Warning: oci_fetch(): ORA-24374: define not done before fetch or execute and fetch in C:\xampp\htdocs\ProjectO\numorca.php on line 30
строка 30:
while (oci_fetch($s2)) {
echo oci_result($s2, 'v_consulta');
}
Кто-нибудь может помочьс этим запросом?Спасибо.