Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как отлаживать MySQL запросы?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Ticksy
Отправлено: 18 Июля, 2011 - 14:09:32
Post Id


Гость


Покинул форум
Сообщений всего: 71
Дата рег-ции: Июль 2010  


Помог: 0 раз(а)




Есть ли инструменты для отладки MySQL запросов? Например, тот же PHP всегда пишет мол на n строчке такая та ошибка, ожидалось то-то. MySQL же кидает кусок, который ей не понравился, и просит почитать мануал.
 
 Top
EuGen Администратор
Отправлено: 18 Июля, 2011 - 14:11:13
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Выполняйте запрос в консоли или phpmyadmin. Ошибку покажет.
Если нужно через скрипт, то http://php.su/functions/?mysql_error (для расширения mysql*, для иных же найдёте в документации).


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Ticksy
Отправлено: 18 Июля, 2011 - 15:19:38
Post Id


Гость


Покинул форум
Сообщений всего: 71
Дата рег-ции: Июль 2010  


Помог: 0 раз(а)




EuGen пишет:
Выполняйте запрос в консоли или phpmyadmin. Ошибку покажет.
Если нужно через скрипт, то http://php.su/functions/?mysql_error (для расширения mysql*, для иных же найдёте в документации).

Ну так если через mysql_error, то там не информативно. Выплюнет кусок, который не понравился, и скажет RTFM. Мне бы хотелось что-то более информативное, наподобии обработчика ошибок в PHP.
 
 Top
Roler
Отправлено: 18 Июля, 2011 - 15:24:18
Post Id



Посетитель


Покинул форум
Сообщений всего: 458
Дата рег-ции: Авг. 2008  
Откуда: Россия


Помог: 1 раз(а)




Ticksy
Что-то я не помню, чтобы сообщения об ошибках в РНР были подробнее Оо

По-моему и этой информации достаточно для отладки)
 
 Top
Ticksy
Отправлено: 18 Июля, 2011 - 15:46:06
Post Id


Гость


Покинул форум
Сообщений всего: 71
Дата рег-ции: Июль 2010  


Помог: 0 раз(а)




Roler пишет:
Ticksy
Что-то я не помню, чтобы сообщения об ошибках в РНР были подробнее Оо

По-моему и этой информации достаточно для отладки)

Примеры я указал в первом посте.

Для банальных ошибок - да. Но, например, сегодня мускул писал "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'show='1' WHERE `id`='462'' at line 1". Долго проверял синтаксис, только потом дошло, что show принимает за ключевое слово (то то же в IDE подсвечивалось оно).

P.S. Я не SQL-профи, пока только учусь.
 
 Top
Roler
Отправлено: 18 Июля, 2011 - 16:06:12
Post Id



Посетитель


Покинул форум
Сообщений всего: 458
Дата рег-ции: Авг. 2008  
Откуда: Россия


Помог: 1 раз(а)




Ticksy
Такие "говорящие" имена вообще не стоит юзать, их, конечно, можно заэкранировать, но лучше просто избегать.
Тоже когда-то подобная проблема возникла, но я пишу в Notepad++, так что догадываться самому пришлось)

Но это всё-таки редкий случай.
 
 Top
Champion Супермодератор
Отправлено: 18 Июля, 2011 - 16:21:52
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Ticksy пишет:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'show='1' WHERE `id`='462''
Ну, это довольно информативное сообщение. Написано: у вас ошибка в синтаксисе, проверьте правильность синтаксиса возле "show='1' WHERE `...". Что может быть информативнее.
Другое дело что не всегда компилятор правильно сообщает о реальном месте ошибки, но это не только в mysql, это везде бывает
 
 Top
Slavenin
Отправлено: 18 Июля, 2011 - 17:25:34
Post Id



Посетитель


Покинул форум
Сообщений всего: 285
Дата рег-ции: Май 2010  
Откуда: Тверь


Помог: 4 раз(а)




чтобы меньше отлаживать, надо больше тренироваться Подмигивание

(Отредактировано автором: 18 Июля, 2011 - 17:27:30)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB