mysql_connect без собаки. Как?

shureen

Милорд Лось Кристофер
mysql_connect без собаки. Как?

Доброго времени суток! Подскажите как функции mysql_connect () обойтись без @. Я пишу код без нотисов со всевозможными проверками, а тут функция в случае неправильных параметров выводит варнинг, что совсем не гуд. Как можно это красиво обойти? Заранее благодарю!
 

Adelf

Administrator
Команда форума
давать ей правильные параметры.
либо отключать вывод ошибок.
 

shureen

Милорд Лось Кристофер
Жаль... Спасибо!
Трекинг ошибок не обязателен, есть же mysql_error ()
 

iamFake

Mind Of Liberty
http://phpdb.org/

словно на башорг захожу на сайты где весь или как часть сайта есть чтото вроде:

Parse error: syntax error, unexpected T_STRING in /var/www/phpdb.org/htdocs/index.php on line 1

))))
 

shureen

Милорд Лось Кристофер
Ну это всем известный вирус, который бегает по ftp`шкам и добавляют код в файлы
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
* ловить ошибку через error_handler
* перевести ошибку в ErrorException и ловить его
* ob_start/ob_clean

sapienti sat
 

Фанат

oncle terrible
Команда форума
функция в случае неправильных параметров выводит варнинг, что совсем не гуд
это почему еще не гуд?
что за приложение странное такое, в котором постоянно неверные параметры подразумеваются?
 

shureen

Милорд Лось Кристофер
Не логично ей выводить варнинг, если тот же варнинг можно получить в mysql_error () и вывести (или ещё что сделать) где нужно и как нужно
 

AmdY

Пью пиво
Команда форума
я знаю, я знаю.
PHP:
try {
$db = new PDO(******);
} catch(EXception $e) {}
 

varan

Б̈́̈̽ͮͣ̈Л̩̲̮̻̤̹͓ДͦЖ̯̙̭̥̑͆А͇̠̱͓͇̾ͨД͙͈̰̳͈͛ͅ
Не логично ей выводить варнинг, если тот же варнинг можно получить в mysql_error () и вывести (или ещё что сделать) где нужно и как нужно
почему не логично? Просто не на экран надо выводить ошибки, а в лог.
 

shureen

Милорд Лось Кристофер
Самое главное то не в том куда они выводятся, а то что нельзя варнинг предупредить и сделать свои нужные действия. Для примера перед открытием файла foren ('filename','rw') мы можем проверить существует ли файл и есть ли права на чтение и запись. А в случает с коннектом к базе мы не можем предупредить варнинг и приходится использовать собаку. У функций mysql есть же функции получения ошибок, зачем ещё их лишний раз выводить? (это риторический вопрос)
 

Фанат

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

AmdY

Пью пиво
Команда форума
спартак - чемпион. это риторическое утверждение. все знаю, что несмотря на последние чемпионства вашего рубина, великий клуб добивался чемпионства 9 раз лишь в истории современной россии. точно такая же ситуация и с вопросом, когда вводились функции mysql_*, были несколько другие осставы: повсеместно использовались и register_global, магические кавычки, собаки и не было зазорно писать в одну строку $link = mysql_connect() or die(.... mysql_error()); сейчас модно использовать pdo, в нём есть исключения.
 

shureen

Милорд Лось Кристофер
Ну с квери всё намного проще, она возвращает булев либо результ, и если возвращается false, то точно знаем что в mysql_error () есть ошибка.
 

Фанат

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

shureen

Милорд Лось Кристофер
> квери поступает строго так же
Не совсем также, квери не бросает варнинги в стандартный поток ошибок в отличии от коннекта и тут можно проверить самому через mysql_errno () и сделать то что нужно, а не глушить её (квери) собакой.
В итоге весь вопрос то сводится к тому, как обойтись при коннекте без собаки, а кроме извращений(в данном случае это извращения) типа error_handler и ob_start/ob_clean никак. По идеи вопрос снят и тема закрыта. Благодарю всех кто участвовал!
 
Сверху