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
Форумы портала PHP.SU :: Версия для печати :: Посчитать количество строк
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Посчитать количество строк

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

1. hozer - 19 Октября, 2009 - 17:59:53 - перейти к сообщению
Подскажите пожалуйста как эфективнее всего посчитать кол-во строк в БД(sqlite)?

Пробовал вот так:

PHP:
скопировать код в буфер обмена
  1. $db = sqlite_open("my_database.db");
  2. $res = sqlite_query($db, "SELECT COUNT() FROM table;");
  3. echo sqlite_num_rows($res);


Почему-то выводит 1, хотя там строк намного больше.
2. Мелкий - 19 Октября, 2009 - 18:03:21 - перейти к сообщению
Выводит 1 - потому что вы дважды пытаетесь сделать одно и то же.
сначала sqlite просите подсчитать строки, она считает, и возвращает как строку с единтвенным полем.
Но вместо того, чтобы посмотреть, что вам вернула sqlite, вы смотрите, сколько она при этом вернула строк!

Выберите какой-нибудь 1 способ.
Либо
PHP:
скопировать код в буфер обмена
  1.  
  2. $db = sqlite_open("my_database.db");
  3. $res = sqlite_query($db, "SELECT * FROM table;");
  4. echo sqlite_num_rows($res);
  5.  


либо
PHP:
скопировать код в буфер обмена
  1. $db = sqlite_open("my_database.db");
  2. $res = sqlite_query($db, "SELECT COUNT() FROM table;");
  3. echo sqlite_fetch_single($res); //скорей всего такая функция будет работать, с особенностями именно sqlite не разбирался....
3. hozer - 19 Октября, 2009 - 18:08:00 - перейти к сообщению
Сделал так:

PHP:
скопировать код в буфер обмена
  1.  
  2. $db = sqlite_open("my_database.db");
  3. $res = sqlite_query($db, "SELECT COUNT() FROM table;");
  4. echo $res;
  5.  


Выводит - Resource id #3 ? Ниндзя
4. Мелкий - 19 Октября, 2009 - 18:09:29 - перейти к сообщению
Верно выводит, см выше, дописал.
5. hozer - 19 Октября, 2009 - 18:13:55 - перейти к сообщению
А чем отличается COUNT() и COUNT(*) ?

 

Powered by ExBB FM 1.0 RC1