CyLon - ежели ты такой "умный"... Подумай, как будет
работать твой код, если у тебя в выборке (в любой!!!) не будет строк.
Я тебе сразу скажу - будут ошибки. Которые можно избежать на начальном этапе, если переделать код так, как показал Габриэль.
Но если ты "умник", то оставь всё как есть

. И потом будешь жаловаться, что ошибки вылезают непонятные и бессистемные
Глядишь, все "при деле" будут: ты спрашиваешь, тебе отвечают... Вот только не "пеняй" потом на
форум. Потому что ты сам "умный", и не хочешь слушать советов.
А если ты не понял, что я сказал - то забудь. И пиши дальше свой "поповский" код.
Удачи тебе в области поиска глупых ошибок в своем же коде!