Welcome to PHPClub
13 сентября отмечаем День Программиста! Приходите! Ищем хорошего PHP-разработчика Москва,
офис ~90-150К
Боишься нашего дизайна?
поиск:
   
 Начало | Настройки | Расширенный поиск | РегистрацияПосмотреть новые сообщения 
  
PHP Club форумы: > PHP и базы данных > PHP & Oracle > Как реализовать EXECUTE IMMEDIATE в PHP
 

Автор
Тема ОТВЕТИТЬ
Andy
Новичок

На форуме с: Aug 2007
Cообщений: 4
Город:
Question Как реализовать EXECUTE IMMEDIATE в PHP

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

Old Post 03.08.07 15:21 URL сообщения | инфо об авторе | жалоба | IP: Записан | редактировать | ОТВЕТИТЬ и ЦИТИРОВАТЬ
tony2001
TeaM PHPClub

На форуме с: Jun 2000
Cообщений: 8773
Город: msk.ru/kh.ua

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

Old Post 03.08.07 15:29 URL сообщения | инфо об авторе | жалоба | IP: Записан | редактировать | ОТВЕТИТЬ и ЦИТИРОВАТЬ
Andy
Новичок

На форуме с: Aug 2007
Cообщений: 4
Город:

Постараюсь повторить. Мой предшественник написал кучу кода от которой база просто в шоке. Кэш вообще не используется потому что вместо того чтобы выполнять запрос 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 это называется не знаю, увы не силен ;(

Old Post 03.08.07 15:33 URL сообщения | инфо об авторе | жалоба | IP: Записан | редактировать | ОТВЕТИТЬ и ЦИТИРОВАТЬ
tony2001
TeaM PHPClub

На форуме с: Jun 2000
Cообщений: 8773
Город: msk.ru/kh.ua

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

Old Post 03.08.07 15:37 URL сообщения | инфо об авторе | жалоба | IP: Записан | редактировать | ОТВЕТИТЬ и ЦИТИРОВАТЬ
Andy
Новичок

На форуме с: Aug 2007
Cообщений: 4
Город:

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

-~{}~ 03.08.07 18:40:

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

Old Post 03.08.07 15:39 URL сообщения | инфо об авторе | жалоба | IP: Записан | редактировать | ОТВЕТИТЬ и ЦИТИРОВАТЬ
tony2001
TeaM PHPClub

На форуме с: Jun 2000
Cообщений: 8773
Город: msk.ru/kh.ua

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

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

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

О да..

Old Post 03.08.07 15:42 URL сообщения | инфо об авторе | жалоба | IP: Записан | редактировать | ОТВЕТИТЬ и ЦИТИРОВАТЬ
Andy
Новичок

На форуме с: Aug 2007
Cообщений: 4
Город:

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

Old Post 03.08.07 15:45 URL сообщения | инфо об авторе | жалоба | IP: Записан | редактировать | ОТВЕТИТЬ и ЦИТИРОВАТЬ
Wicked
Moderator

На форуме с: Oct 2004
Cообщений: 2864
Город: Novosibirsk, Russia

но что-то мне подсказывает, что ответ tony2001 на подобные вопросы сродни забиванию гвоздей микроскопом

Old Post 03.08.07 16:15 URL сообщения | инфо об авторе | жалоба | IP: Записан | редактировать | ОТВЕТИТЬ и ЦИТИРОВАТЬ
tony2001
TeaM PHPClub

На форуме с: Jun 2000
Cообщений: 8773
Город: msk.ru/kh.ua

и что именно подсказывает?

Old Post 03.08.07 16:20 URL сообщения | инфо об авторе | жалоба | IP: Записан | редактировать | ОТВЕТИТЬ и ЦИТИРОВАТЬ
Время GMT. Текущее время 15:28. Подписаться на Тему | Версия для Печати
 

PHP Club форумы: > PHP и базы данных > PHP & Oracle > Как реализовать EXECUTE IMMEDIATE в PHP
 
Оценить:
 
 
 
 

 © 1997-2010 PHPClubTeam      

Powered by vBulletin Copyright © 2000-2010 Jelsoft Enterprises Limited.