Posted 6 ноября, 20177 yr comment_138906 При обращении к БД \IPS\Db::i()->select, если в таблице нет искомого значения возвращается FALSE или вообще ничего не возвращается? Link to comment https://ipbmafia.ru/topic/18685-ipsdbi-select/ Share on other sites Больше вариантов
6 ноября, 20177 yr Author comment_138922 When prompted SELECT (\IPS\Db::i()->select) and the lack of results it returns FALSE, or Null or nothing is returned? Link to comment https://ipbmafia.ru/topic/18685-ipsdbi-select/?&do=findComment&comment=138922 Share on other sites Больше вариантов
6 ноября, 20177 yr comment_138923 Если запрос корректен, но нет строк ему соответствующих, то возвращается либо пустая строка, либо пустой массив, в зависимости от запроса. Link to comment https://ipbmafia.ru/topic/18685-ipsdbi-select/?&do=findComment&comment=138923 Share on other sites Больше вариантов
7 ноября, 20177 yr Author comment_138946 19 часов назад, Dmitriy427 сказал: Если запрос корректен, но нет строк ему соответствующих, то возвращается либо пустая строка При таком запросе Спойлер $nexus_expire = \IPS\Db::i()->select( 'ps_expire', 'nexus_purchases', array( 'ps_member=? AND ps_type=?', \IPS\Member::loggedIn()->member_id, $ps_type ), 'ps_id DESC' )->first(); ничего не возвращается, на форуме ips посоветовали сделать так Спойлер try { $record = \IPS\Db::i()->select( '*', 'table', array( 'field=?', 'something' ) )->first(); } catch ( \UnderflowException $e ) { $record = array(); } И да, так возвращает массив, даже если нет результат. Link to comment https://ipbmafia.ru/topic/18685-ipsdbi-select/?&do=findComment&comment=138946 Share on other sites Больше вариантов
7 ноября, 20177 yr comment_138995 Это уже обработка ошибки БД, а значит о корректном запросе речь не идёт. Link to comment https://ipbmafia.ru/topic/18685-ipsdbi-select/?&do=findComment&comment=138995 Share on other sites Больше вариантов
7 ноября, 20177 yr Author comment_138996 1 минуту назад, Dmitriy427 сказал: корректном запросе речь не идёт. Что за бред? Отсутствие данных - это некорректный запрос? Link to comment https://ipbmafia.ru/topic/18685-ipsdbi-select/?&do=findComment&comment=138996 Share on other sites Больше вариантов
7 ноября, 20177 yr comment_138999 Мне сложно вам что либо объяснить, если вы не понимаете - что такое обработка исключений. В данном случае, ошибка генерируется методом "first()", класса "\IPS\Db::Select". Без конструкции "try-catch", в DEV-mode, ваш запрос будет генерировать такой вот экран: Link to comment https://ipbmafia.ru/topic/18685-ipsdbi-select/?&do=findComment&comment=138999 Share on other sites Больше вариантов
7 ноября, 20177 yr comment_139000 И да, в вашем случае БД возвращает NULL. Link to comment https://ipbmafia.ru/topic/18685-ipsdbi-select/?&do=findComment&comment=139000 Share on other sites Больше вариантов
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.