PHP ORACLE AdoDb неправильное поведение при использовании подготовленного оператора

В настоящее время я работаю над проектом, который использует библиотеку ADODB PHP 5.20.9 (последняя версия)

В большинстве случаев все работает как положено, но я не могу использовать функции БД внутри запроса вставки, который сделан с подготовленными этапами.

Как пример, sequence.nextval инструкция обрабатывается как строка и кажется, что
передается ORACLE в виде строки вместо функции, которая должна быть вызвана.

Ниже приведен полный пример для воспроизведения ошибки:

--Table creation
CREATE TABLE TEST_DATA
("PK" VARCHAR2(100),
"TESTNOTE" VARCHAR(100),
"TESTDATE" DATE
)
)

--Sequence creation
CREATE SEQUENCE SEQ_TEST_TABLE
INCREMENT BY 1 MINVALUE 1
CACHE 20 NOCYCLE//PHP code example, require include for ADODB library

$bindVariables = array('PK' => 'SEQ_TEST_TABLE.nextval',
'TESTNOTE' => 'SOME INFORMATIONS',
'TESTDATE' => 'SYSDATE');

$insertQuery = "INSERT INTO TEST_TABLE (PK, TESTNOTE, TESTDATE)
VALUES (:PK, :TESTNOTE)";

try {
$result = $dbDbi->execute($insertQuery,$bindVariables);
} catch(Exception $e) {
echo $e->getMessage();
}

Весь код будет выполнен без ошибок, но внутри поля PK я нашел SEQ_TEST_TABLE.nextval вместо ожидаемого числового значения

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]