| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Базы Данных > PDOStatement queryString текст запроса |
| Автор: Veve 25.10.2009, 10:39 | ||||||
| Привет. Пытаюсь перейти на использование PDO в проектах. Но пока не очень получается Как вывести текст sql текст запроса? Если делать так:
, то sql текст будет выглядеть так
а нужно с подстановкой, к примеру так:
Как это можно сделать? |
| Автор: Ипатьев 25.10.2009, 11:11 |
| Насколько я знаю - никак. В том-то и фишка, что никакого SQL запроса в классическом понимании здесь нету. В базу отправляется именно " f2=:p2 and f3=:p3". Из-за этого лично я не очень люблю использовать подготовленные выражения. |
| Автор: Veve 25.10.2009, 11:19 |
| Забавно :( Как тогда к примеру писать те же логи? |
| Автор: Ипатьев 25.10.2009, 11:43 |
| Можно написать обертку над ПДО, которая будет подставлять данные и писать запрос в лог |
| Автор: Veve 25.10.2009, 12:13 | ||
| Допустим.... но как -то это всё.. ммм Как потом получить к примеру bindParam?
|
| Автор: Kevin 25.10.2009, 14:11 |
| Перегрузить bindParam(), bindValue() и execute(); и из полученных параметров собрать запрос, самостоятельно заменив метки в prepared statement запросе |
| Автор: Veve 25.10.2009, 14:48 |
| тогда не вижу смысла в использование PDO |
| Автор: Ипатьев 25.10.2009, 21:43 |
| SQL - слишком хорошая штука, чтобы так легко поменять ее на что-то другое. Это практически регулярки в data manipulation. Все нужное и ничего лишнего. И когда я вижу, что из них делают, к примеру, ORM, мне становится странно. |
| Автор: solenko 26.10.2009, 10:23 |
Никак. Для отладки пользуюсь mysqlproxy либо полным логом запросов. |
| Автор: bars80080 22.5.2014, 14:06 | ||
| за 5 лет по вопросу прогресса нет? потому что я пока вижу решения только
|