Как реализовать EXECUTE IMMEDIATE в PHP

Andy

Новичок
Как реализовать EXECUTE IMMEDIATE в PHP

Господа не подскажите как можно решить следующую проблему. Есть строка с SQL запросом (SELECT * FROM TABLE WHERE ID=$id), она падается в функцию где из нее парсером вытаскиваются VARIABLE ($id). Далее строка запроса модифицируется в такую (SELECT * FROM TABLE WHERE ID=:id) и вот собственно после этого и возникает потребность написать некоторое количество OCIBIND (равное числу переменных) и собственно выполнить эту конструкцию. Заранее благодарю за совет.
 

tony2001

TeaM PHPClub
ни слова не понял.
какая-то строка, зачем-то парсится и что-то надо сделать.
причем тут название топика - неясно.
 

Andy

Новичок
Постараюсь повторить. Мой предшественник написал кучу кода от которой база просто в шоке. Кэш вообще не используется потому что вместо того чтобы выполнять запрос SELECT * FROM TABLE WHERE ID=:id и к нему биндить id в базу валиться поток типа SELECT * FROM TABLE WHERE ID=3, SELECT * FROM TABLE WHERE ID=4 и так далее. Вот собственно эту проблему я и пытаюсь решить.

-~{}~ 03.08.07 18:35:

А что касается названия топика - в ORACLE это называется именно так, как в PHP это называется не знаю, увы не силен ;(
 

tony2001

TeaM PHPClub
в чем конкретно проблема?
не понятно как сделать oci_bind_by_name()? или как вызвать oci_execute()?
 

Andy

Новичок
Не понятно как сгенерить на PHP несколько строк кода (oci_bind_by_name(1), oci_bind_by_name(2), oci_bind_by_name(n)) ну а далее собственно выполнить этот код. Т.е. код я сгенерить могу только как его выполнить понять не могу ;(

-~{}~ 03.08.07 18:40:

Можно конечно попробовать все это записать в файл, потом его подинклюдить, но что-то мне подсказывает что это с родни забиванию гвоздей отверткой :)
 

tony2001

TeaM PHPClub
>Не понятно как сгенерить на PHP несколько строк кода (oci_bind_by_name(1),
> oci_bind_by_name(2), oci_bind_by_name(n)) ну а далее собственно выполнить этот
> код. Т.е. код я сгенерить могу только как его выполнить понять не могу ;(

Ужас какой.
В цикле выполнять oci_bind_by_name() не пробовал?

>Можно конечно попробовать все это записать в файл, потом его подинклюдить,
>но что-то мне подсказывает что это с родни забиванию гвоздей отверткой

О да..
 

Andy

Новичок
О чудо, все гениальное как всегда просто, огромное спасибо!
 

Wicked

Новичок
но что-то мне подсказывает, что ответ tony2001 на подобные вопросы сродни забиванию гвоздей микроскопом :)
 
Сверху