Как в PDO получить количество выбранных строк?

alex77

Новичок
Как в PDO получить количество выбранных строк?

Как в PDO получить количество строк, выбранных запросом SELECT?
Метод rowCount возвращает количество рядов только после DELETE, INSERT, или UPDATE.
 

alex77

Новичок
crocodile2uЭто в мануале и так есть.
я хотел 1-м запросом
 

alex77

Новичок
чтобы не делать лишний запрос.
такая мощная вещь PDO и не сделали numRows :(
Ну нет так нет.
 

Zetruger

ivan.chistyakov.name
такая мощная вещь PDO
никакая она не мощьная, а очень хилая и сырая

есть rowCount (не будет работать со всеми БД), но тогда о портабельности можно забыть
 

Zetruger

ivan.chistyakov.name
на мой взгляд, PDO не решает нескольких проблем, а именно:
1) Пресловутый num_rows (rowCount)
2) Разность стиля LIMIT ax / LIMIT x OFFSET x / TOP x (MSSQL) / TOP/ROWS x SKIP x (InterBase/Firbird)
3) полное отсутствие возможности CREATE TABLE / DELETE TABLE (например в phpBB под конкретную БД свой инсталляционный sql скрипт, что меня не совсем устраивает)
4) ну и так всякая мелочь, типа, что в InterBase нет функции LOWER (только UPPER) и это нужно учитывать при поиске сток без учета регистра

И часто ты приложения портируешь?
1) если делать конкретный проект - то это ни к чему
2) если писать CMF/CMS то это необходимо

так что для кросплатформенности нужно либо создавать свой класс, либо делать надстройку над PDO
 

crocodile2u

http://vbolshov.org.ru
1) нум_роуз не нужен. Используйте COUNT()
2), 3), 4) - PDO - это не конструктор запросов, это инкапсуляция коннекта в БД.

И все же - почаще вспоминайте о том, что нужно конкретному проекту.. а то за CMS/CMF часто о них забывают...
 

litvinenko

Новичок
кажется где-то в мануале по MySQL я встречал функцию наподобие COUNT(), только она считает общее количество выбранных строк БЕЗ учета LIMIT

-~{}~ 01.08.07 13:18:

SQL_CALC_FOUND_ROWS

-~{}~ 01.08.07 13:20:

а. кажется это не совсем то :(
 

Alexandre

PHPПенсионер
только для mysql:
mysql_affected_rows -- Возвращает число затронуиых прошлой операцией рядов
mysqli_num_rows -- Gets the number of rows in a result
pg_affected_rows -- Returns number of affected records
ibase_affected_rows -- Return the number of rows that were affected by the previous query

2) если писать CMF/CMS то это необходимо
класс надстройку писать в любом случае приходится.
 

crocodile2u

http://vbolshov.org.ru
Alexandre
чего-то я не понимаю... ты пишешь - "только для mysql:" - а потом приводишь функции, работающие как с мускулем, так и с другими СУБД. И главное - как это соотносится с PDO?
 

Фанат

oncle terrible
Команда форума
crocodile2u
искать логику в постах Alexandre бесполезно.
 
Сверху