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 :: Кошерно ли прикрыть такую ошибку собакой?

 PHP.SU

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


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

> Описание: прошу утвердить меня в моих измышлениях
AlexNewaro
Отправлено: 13 Июля, 2015 - 17:58:44
Post Id



Новичок


Покинул форум
Сообщений всего: 29
Дата рег-ции: Янв. 2015  


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




Приветствую...

Я уже устаканился в своем решении, но очень хочется испросить мнения профи...

Зилибоба:
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. $connect = connectDB();
  3. {
  4. $q = "SELECT * FROM `base`.`table` WHERE `column` = '$wow' AND `column2` = '$hey' ORDER BY `hey`";
  5. $qr = mysql_query ($query);
  6. }
  7. closeDB ($connect);


Любопытствую результат Зилибобы:



При исполнении, если возвращается пустая строка, то естественно
CODE (SQL):
скопировать код в буфер обмена
  1. Warning: mysql_result() [FUNCTION.mysql-result]: Unable TO jump TO row 0 ON MySQL result


Но при этом далее в коде решен вопрос как обрабатывать отсутствие результата и что писать в форму если нет результата:
PHP:
скопировать код в буфер обмена
  1. if($roomperiodprice != 0) echo ''.$roomperiodprice.''; else {echo '0';}


И все нормально, ошибка мне жить не мешает, скрипту работать тоже.
И вот решил я поставить волшебную @, аккурат в результат Зилибобы:

, дабы некритичными ошибками усталый мозг не путать.

И тут озарение!!!!!!
Не кошерно это... Есть варианты как решить?

Или хрен с ним и пусть собака охраняет?

Спасибо
 
 Top
Panoptik
Отправлено: 13 Июля, 2015 - 18:03:15
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


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




в старые добрые времена, когда все разработчики ПХП писали mysql_query и проверяли ее результат на успех
существовала старая добрая функция mysql_num_rows ...

(Отредактировано автором: 13 Июля, 2015 - 18:03:31)



-----
Just do it
 
 Top
AlexNewaro
Отправлено: 13 Июля, 2015 - 18:12:33
Post Id



Новичок


Покинул форум
Сообщений всего: 29
Дата рег-ции: Янв. 2015  


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




Panoptik пишет:
в старые добрые времена, когда все разработчики ПХП писали mysql_query и проверяли ее результат на успех
существовала старая добрая функция mysql_num_rows ...


Спасибо! Как не хватало свежей мысли... А ведь сам у половины запросов num делаю...

Решил так:

PHP:
скопировать код в буфер обмена
  1. if($num > 0) $info = mysql_result($res3,0,'price'); else $info = '0';
 
 Top
difight
Отправлено: 13 Июля, 2015 - 18:20:01
Post Id



Посетитель


Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011  


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




Panoptik пишет:
в старые добрые времена, когда все разработчики ПХП писали mysql_query и проверяли ее результат на успех
существовала старая добрая функция mysql_num_rows ...

Я даже и не знал что существует новый вариант Голливудская улыбка До сих пор пользуюсь старым с проверкой Улыбка
 
My status
 Top
Panoptik
Отправлено: 13 Июля, 2015 - 18:22:06
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


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




в новом варианте
Спойлер (Отобразить)
как бы не пользуются mysql_*
(Добавление)
AlexNewaro я вам больше скажу, вместо никогда мной неиспользованой функции mysql_result есть не менее интересные функции mysql_fetch_row и mysql_fetch_assoc
(Добавление)
и вообще заглядывать в мануалы иногда бывает весьма увлекательно http://www.php.su/functions/?cat=mysql (там внизу есть содержание и под ним много вкусняшек)
ну и тут еще можно расширить кругозор
http://www.php.su/functions/?page=cat_db
и особенно рекомендую вот єто
http://www.php.su/functions/?cat=pdo


-----
Just do it
 
 Top
Мелкий Супермодератор
Отправлено: 13 Июля, 2015 - 18:45:25
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




Не кошерно в принципе разложившийся труп mysql_* на людях показывать.
fetchColumn и штатная обработка false.


-----
PostgreSQL DBA
 
 Top
AlexNewaro
Отправлено: 13 Июля, 2015 - 19:19:11
Post Id



Новичок


Покинул форум
Сообщений всего: 29
Дата рег-ции: Янв. 2015  


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




Всем огромное спасибо, все подкинутое мне обязательно покурю, чтобы трупами больше не разбрасываться, при случае Улыбка
 
 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