Вывод рандомных данных из БД

volt

Новичок
Здравствуйте!
Подскажите, пожалуйста в таком вопросе.
Нужно вынуть 1 произвольную строку с таблицы БД.
Вот код:

PHP:
  $q="Select SQL_CALC_FOUND_ROWS * from citizen";
  $res=$db->query($q);
  $sum=mysql_num_rows($res);
  $q="Select * from citizen LIMIT ".rand(0,$sum).", 1";
но в итоге получается что данные со строкой из 10 раз выводятся только раз 8. Наверное где-то закралась ошибка или я не очень понимаю rand(). Подскажите, почему данные не всегда выводятся? Что может быть в
PHP:
LIMIT ".rand(0,$sum).", 1
когда данные из таблицы вообще не хотят выниматься?

И второй вопрос - при использовании count(*) вместо SQL_CALC_FOUND_ROWS вообще выдается все время 1, тогда как в таблице строк много.

Вывод при count(*) пытался сделать так:
PHP:
  $q="Select count(*) from citizen";
  $res=$db->query($q);
  $sum = mysql_fetch_row($res);
но здесь sum все время выдает 1

Спасибо.
 

С.

Продвинутый новичок
Занимайтесь отладкой, выводите промежуточные результаты.
 

Baton

Новичок
У Вас там одна сплошная ошибка закралась. Поищите в яндексе, я сразу нашел готовый пример с разъяснениями как сделать то, что Вы хотите.
 
Сверху