Регистрация ошибок

m2k

Новичок
Регистрация ошибок

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

1)@mysql_query("UPDATE `tra-lala` SET a='new a' WHERE id='1' LIMIT 1") or die('Oops error');
2)if(@mysql_query("UPDATE `tra-lala` SET a='new a' WHERE id='1' LIMIT 1")){
...
}else{
...
print 'Oops Error';
...
}
вот как лучше как правильней... сори если такая тема проскакивала просьба тогда направить меня на неё чтоб я понял как это делать лучше и так и делал)))) всем спасибо за внимание... вот ))
 

Фанат

oncle terrible
Команда форума
прежде, чем ловить ошибки, тебе надо бы хорошенько разобраться с тем, что ты хочешь и что делаешь.
Пока здесь - полная каша.

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

m2k

Новичок
в офф топик это тоже не годится и в php & mysql Тоже то что пример с mysql связан это случаяность что первое в голову пришло то и написал ...

собачки чтобы не пхп не писал ошибка в бравзер...
не часто но она легко может возникнуть... и это БЫЛ ПРОСТО ПРИМЕР Я НЕ ЗАДУМЫВАЛСЯ ЧАСТО ЭТА Ф-Я ВВЫзывает ошибку или нет...

может ктото ещё подскажет....
 

Фанат

oncle terrible
Команда форума
подскажет, если ты не будешь отбрёхиваться от того, что тебе пишут, а будешь внимательно слушать, мотать на ус и исправляться.

в оффтопик не годится, в пхп и мускуль - тоже. И все? Больше здесь форумов по пхп нет? Ты хорошо посмотрел?

собачки здесь нужны, как собачке пятая нога.
Если нужно сделать так, чтобы "пхп не писал ошибка в бравзер", то это делается ОДНОЙ командой на весь скрипт. Или на весь свйт.
А не расставлением собачек к каждой строчке программы.
Я доступно объясняю?

Слушай дальше.
Если "в бравзере" ошибки не нужны, то это еще не значит, что они не нужны вовсе.

Заткнуть рот ошибке - это пол-дела.
Её еще надо иногда исправлять - как ты думаешь?
А как, по-твоему программист узнает, что была ошибка, и какая именно? Если функция молчит, как рыба?
поэтому собачек берем - и за ушко, да на солнышко.
Я доступно объясняю?

Если доходит - я продолжу.
 

m2k

Новичок
да про то что можно сделать чтобы показывал или непоказывал или показывать но не все ошибки это я читал и про разные типы ошибок тож читал правда не всё запомнил) памяти не хватило ))
да конечно доходит я не на стоолько туп как ты наверно думаеш )) так что продолжай )))
и имел ввиду не показывать ошибки не во время разработки продукта а уже когда в использование он будет... вообщем лучше ты умный дядя дальше расскажи !
 

Фанат

oncle terrible
Команда форума
А ты думаешь, что когда продукт уже "в использование будет", то ошибок в нем уже не будет никогда?
Ты ошибаешься.
Когда продукт в использование, ошибки гораздо важнее, чем при разработке.
вот только видеть их должен только программист.
поэтому вывродить их надо не на экран, а в лог файл.
Понятно?

Таким образом, мы решили первую проблему - не показывать системные сообщения об ошибках.

Вторая проблема езе проще.
практически все функции возвращают false при ошибке
особенно такие ошибочные как mysql_fetch_array, fopen, и другие.
Вот по этому false ты можешь определить неудачу и вывести свое сообщение.
ясно?
 

m2k

Новичок
ну да) чего непонятного ))
да нет я знаю что при использовании ошибки будут просто не нада их кому не нада показывать )))
ммм а вот допустим так ...идёт код ...
тут нада открыть файл и считать из него чтолибо то как лучше сделать
if(fopen('file_name','r')){
//read from file
}else print 'ERROR';
или
fopen('file_name','r') or die('mega puper error');
 

Фанат

oncle terrible
Команда форума
лучше первый вариант.
он не убивает скрипт.
сайты у нас обычно включа.т дизайн .и неплохо было бы перед завергшением скрипта его вывести.
Хотя, это уже по желанию.
 

m2k

Новичок
ну да нижняя часть шаблона убьётся )) я просто спросил малоли может есть какойнить хороший тон програмирования ))) ок лучше конечно ifом проверять... тогда всё акуратней будет
а насчёт mysql_query и mysql_fetch_assoc и прочих как я понял они никогда (если запрос не кривой) не будут выдавать лож если соединение с mysql прошло успешно и все таблицы есть и всё ок... тогда проще просто проверить конект к мускль в самом начале так ведь ? или всёравно лучше проверять кажлдый запрос ??
 

Фанат

oncle terrible
Команда форума
каждый запрос надо проверять.
ведь запрос формируется динамически, и в нем может появиться ошибка.
 

m2k

Новичок
а ещё офф топ ) может я тупой но как сделать так чтобы в запросе при сраврнени допустим WHERE login='".$_POST['login']."' учитывался регистр )))
 

Кром

Новичок
Есть функция BINARY() в mySQL.
Также в последних версиях mySQL можно указывать будет ли тип поля регистрозависимым или нет.
http://dev.mysql.com/doc/mysql/en/Charset.html
 
Сверху