Здравствуйте! Есть примитивный sql запрос: Код (Text): $sq = sql_query($conncxp, "select Ctrls, DeleteFlag from Scrooge.Clients where Ctrls = '$clid'"); $cnt = count($sq); while ($q = sql_fetch_assoc($sq)) { if (array($q)) { $ctrls = $q['Ctrls']; $del = $q['DeleteFlag']; echo $txt3 . " " . $nn . " " . $clid . " " . $fio . " " . $fior . " Ctrls = " . $ctrls . " Del = " . $del . "\n"; } else { echo $txt3 . " " . $nn . " " . $clid . " " . $fio . " " . $fior . "\n"; } } Если запрос возвращает результат, то понятно $q будет массивом, этот кусок срабатывает, а вот дальше - ступор! Подскажите, как отловить то, что запрос ничего не возвращает? Пробовал и isset, пробовал и empty - никак не выводит того что в последнем эхе... Спасибо!
Не, такое не проходит... PDO скрипты написаны на уровне сервера и никто под меня "рихтовать" ничего не станет... num_rows стабильно возвращает мне "-100" при любом запросе... Я пока выкрутился count(*), т.е. два запроса, первый count(*) и, если больше или равно единичке, то второй запрос, а если нолик, то остальное, но это же дебильно!
Для начала его нужно объявить. А в конце проверить - есть что, и сколько. Можно и не объявлять, тогда само его существование будет означать, что в нем что-то есть.
Если вам доступна только выдача, то больше ничего и нет. Как вариант, можно присоединить к запросу переменную с количеством строк.
По любому - объявлять надо в начале! А потом смотреть... Ок! Попробую! Благо, что на "выхлопе" результат почти единичный, можно обойтись и count(*), но не факт, что потом не нагрузят кило-записями
@l_2001, вот самое простое: PHP: if ($q = sql_fetch_assoc($sq)) { do { echo "данные"; } while ($q = sql_fetch_assoc($sq)); echo 'закрывашка'; }
Спасибо! Можно считать, что тема закрыта! --- Добавлено --- Не... Сервер на ASE... SQL только для собственных нужд