[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Каr дебагить запросы в PDO
Страницы: 1, 2, 3, 4
SoMeOnE
Кстати запрос был огромный. А приведенный пример это всего лишь пример. Зачем сюда вывешивать громадный запрос. Там ничего собенного, просто полей намного больше (на форуме кому то это нужно). С ним я по любому разобрался, практическ раньше, чем запостил сюда. И разобрался бы намного раньше, если бы мог получить нормальный sql запрос в печатном виде.
Но по мере исправления была выявлена такая проблема, как невозможность нормально дебагить данный запрос. А имено получить и протестировать в phpmyadmin. Кто знает, если не смогу найти метод нормально дебагить, может и откажусь от плейсхолдеров...
glock18
Цитата (twin @ 27.06.2013 - 12:20)
Я не юзаю PDO

судя по всему не "не юзаю", а "не знаю". меня поражает, как человек не знающий тему кроме как по горькому опыту работы с чьими-то там творениями, при всем при этом себе позволяет категоричные заявления.

Цитата (twin @ 27.06.2013 - 12:20)
Ткни пальцем. А не сможешь, не выдавай желаемое за действительное. Если слова "подготовленный" и PDO встречаются у меня в одном топике, это не значит, что я их путаю.

дахоспате. Эта тема уже поднимается здесь 150-ый раз. И каждый раз, и этот включая, ты разговор о подготовленных запросах сводишь к pdo. Продолжая в том же духе, ты только убеждаешь меня в том, что темой не владеешь. Почему тогда так резко высказываешься?

Цитата (twin @ 27.06.2013 - 12:20)
Не все умеют играть сонату "Наполеон".

ок, наезд понят.

Цитата (twin @ 27.06.2013 - 12:20)
mysql_lib отстаивал, не спорю. До сих пор считаю её не утратившей актуальности и своих прелестей. Но жизнь идет, ничего с этим не поделать. Пришлось пристрелить еще вполне бодрую клячу.

Вот опять. Кляча была дохлая чуть ли ни с тех пор как появилась. После появления 5й версии mysql-сервера и какой-то там mysql-клиента, попытка использовать какую-то новую фичу mysql превращалось в костыль. И я не про эти горячо любимые тобой prepared statements, а про хранимые процедуры, про транзакции.

Цитата (twin @ 27.06.2013 - 12:20)
и порождает это самое преславутое стадное чуство. Как же! Я! Такой крутой прогер!!! Буду писать говнозапросы??? Да никогда! Все тру-прогрммисты давно пользуются PDO!

а это к чему вообще? Полагаю, что ты не так понял, ибо я имел ввиду запрос, на который как раз ты и плевался, мол "вон чего дурошлепы на PDO пишут". Не знаю что тебя заставило думать что-то иное. А дай тому же дурошлепу этот запрос переписать на ad-hoc запрос, то краше он точно не станет.
freed-master
Цитата
С ним я по любому разобрался, практическ раньше, чем запостил сюда.
а что за ошибка то была?

_____________
Всем, кто заинтересован, могу помочь начать зарабатывать на forex.
Пишите в личку или на e-mail: flash-dirt@yandex.ru
SoMeOnE
Цитата (freed-master @ 27.06.2013 - 12:48)
Цитата
С ним я по любому разобрался, практическ раньше, чем запостил сюда.
а что за ошибка то была?

В запросе нет ошибки. Это примерочный запрос. Для того что бы показали как печатать их) Ошибка то что какое то поле неверно приходило...
twin
Цитата (glock18 @ 27.06.2013 - 12:45)
судя по всему не "не юзаю", а "не знаю". меня поражает, как человек не знающий тему кроме как по горькому опыту работы с чьими-то там творениями, при всем при этом себе позволяет категоричные заявления.


Я не в лесу живу. И естественно передо мной вставала дилема, куда податься с mysql. Я выбрал mysqli, потому и не юзаю PDO. Просто это тема разговора именно этого топика. Но "не юзаю" и "не знаю" - разные вещи, ты прав. У меня нет опыта работы с PDO, но это не значит, что я не знаю теории. Хотя и это не суть, по большому счету не велика разница. Речь шла не о драйвере, а о принципах. В частности об плэйсхолдерх. Собственно любых, и те и другие есть суть извращение SQL. Что мы и наблюдаем сиюминутно. Нет возможности распечатать запрос и сунуть в пыхадмин, даже на предмет оптимизации, я про дебаг молчу. И тут либа не причем, тут именно извращение текста запроса имеет решающее значение.

Да, можно написать приладу и распечатать, конечно. Но моя первая фраза была именно про это:
Цитата
Умиляет...
Сначала все запутать, потом распутывать через задницу. В чем польза именованных плэйсхолдеров от меня так и ускользает.
Чего ты с PDO пристал, я не понимаю. Плэйсхолдеры можно и в mysql_ юзать, я говорил.

Цитата
а это к чему вообще? Полагаю, что ты не так понял, ибо я имел ввиду запрос, на который как раз ты и плевался, мол "вон чего дурошлепы на PDO пишут". Не знаю что тебя заставило думать что-то иное. А дай тому же дурошлепу этот запрос переписать на ad-hoc запрос, то краше он точно не станет.


Да, действительно не так понял. Но тут суть не в самом запросе, а в стиле его написания. Если это то, о чем я думаю, то меня там в первую очередь напрягала именно суета по странице в поисках сопоставлений. И если переменных в запросе много, то это вообще сводит с ума. Когда пишешь сам, не так заметно. Когда читаешь чужой код, хочется разбить головой монитор. Причем головой писавшего. Ибо совершенно непонятна цель, преследуемая этими плэйсхолдерами. Зачем так все усложнять, неужели ты сам себе настолько не доверяешь, что готов пожертвовать прозрачностью кода...

Не понимаю. Может есть другие причины, мне неизвестные? Если только безопасность, то это дурь. И это еще мягко сказано.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Oyeme
Вопрос был задан:
Цитата
Как я могу распечатать только выражение запроса, чтобы протестировать его допустим непосредственно в phpmyadmin


Twin
Опять Вы влезли сюда со своими правилами.Вопрос то был задан совсем другой.
Никто Вас не просил делиться своими мыслями и что Вы чувствуете сейчас.
На stackoverflow Ваш ответил бы давно удалил за spam.

Вообще с Вами спорить бесполезно Вы видите во все минусы и всегда правы.

Я знал людей которые считали мобильные телефон создание дьявола и всем пытались навязать свое мнение.

Существуют стандарты мировые в ИТ сфере.Перед тем как выпустить оффицальную библиотеку происходит обсуждение новых введений и тестирование с профессорами и умами со всего мира.

Вы не правы,смеритесь с этим.

Давно пора признать что не будет так как Вы хотите.Все развивается и все идет к лучшему.
В следующий раз не поленитесь - прочитайте вопрос.

twin
Цитата (Oyeme @ 27.06.2013 - 13:36)
Вопрос был задан:
Цитата
Как я могу распечатать только выражение запроса, чтобы протестировать его допустим непосредственно в phpmyadmin



А я на этот вопрос и не отвечал. Я вставил ремарку позже, когда начались изобретения колеса. И тут уж извини, имею право на собственное мнение. И имею права советовать, на то он и форум.

Совет, если не понятно до сих пор, прост. Не нужно все усложнять и не будет проблем. Это касается только текста запроса, именно плэйсхолдеров. PDO, это Вася мне пытался инкрименировть))

Цитата
Я знал людей которые считали мобильные телефон создание дьявола и всем пытались навязать свое мнение.

И кстати, причем тут телефоны? С ними если корректнее нужно было писать так:

Зачем вы пользуетесь простыми сотовыми, если есть прорезиненные, пуленепробиваемые, противоподводные, с фонариком, выкидным ножом, блэкджеком и шлюхами??? Ведь можно уронить невзначай в унитаз или хакер бандит стрельнёт из-за угла и прямо в него!

Цитата
Существуют стандарты мировые в ИТ сфере.Перед тем как выпустить оффицальную библиотеку происходит обсуждение новых введений и тестирование с профессорами и умами со всего мира.

Вы не правы,смеритесь с этим.

Давно пора признать что не будет так как Вы хотите.Все развивается и все идет к лучшему.

Какие стандарты, вы о чем? Дайте мне пруф на стандарт написания SQL запроса, который требует плейсхолдеров, я смирюсь с тем, что я не прав. Пока это только пустой звук. Что касается "к лучшему" - повторюсь. Три года назад я так же был против СМАРТИ и мне тоже хором приводили все те же доводы - смирись, прогресс, все развивается... И где она, СМАРТИ эта? Так что не всегда права толпа. Это давно известный факт. Того же Бруно могу напомнить. И не смирюсь. smile.gif

Возвращаю фразу:
Цитата
В следующий раз не поленитесь - прочитайте вопрос.
Сначала нужно вникнуть, потом кидаться с шашкой наголо.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
SoMeOnE
Цитата (DedMorozzz @ 27.06.2013 - 11:25)
SoMeOnE, ошибку в запросе попробовал сделать? К имени поля добавить "111", к примеру

При добавлении этого
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

сообщает об ошибке. Но весь запрос не печатает
DedMorozzz
А отключи ERRMODE_EXCEPTION. У тебя же ошибка в эксепшин ушла


_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
SoMeOnE
Если эту строчку убираю то
Call to a member function execute() on a non-object in

выводит в месте где execute вызываю
Michael
SoMeOnE, почему не включить на время лог mysql?

_____________
There never was a struggle in the soul of a good man that was not hard
SoMeOnE
Цитата (Michael @ 28.06.2013 - 04:25)
SoMeOnE, почему не включить на время лог mysql?

А как в ubuntu включить его. В /etc/mysql/my.cnf
log_error = /var/log/mysql/error.log
general_log_file = /var/log/mysql/mysql.log
оба включены. Но ни в один из файлов не попадают ошибочные запросы
Michael
Я говорю про лог всех запросов.

_____________
There never was a struggle in the soul of a good man that was not hard
SoMeOnE
Цитата (Michael @ 28.06.2013 - 06:25)
Я говорю про лог всех запросов.

Да, вот это уже записывает. Отлично, спасибо.
При явной ошибку запрос не пишется в лог, сразу в эксепшен уходит, но подробно сообщает об ошибке в дисплее.
SoMeOnE
Правльно ли я понимаю, что этот файл будет разрастаться, с довольно большой скоростью)
Можно его ограничить как то в размерах. Не хочется то включать, то выключать. Пусть всегда логирует)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.