6 / 6 / 1
Регистрация: 07.11.2013
Сообщений: 57
|
|
1 | |
Аналог mysql_num_rows в PDO22.01.2014, 00:12. Показов 10482. Ответов 5
Метки нет (Все метки)
Буквально 3 часа назад начал работать с pdo, почти весь сайт на него перевёл. Дело в том, что я роюсь по мануалу, не могу найти аналог функции mysql_num_rows(); в PDO, Помогите пожалуйста)
0
|
22.01.2014, 00:12 | |
Ответы с готовыми решениями:
5
Mysql_num_rows mysql_num_rows() md5 и mysql_num_rows Mysql_num_rows() expects parameter 1 to be resource |
Native x86
5520 / 3279 / 934
Регистрация: 13.02.2013
Сообщений: 10,393
|
|||||||||||
22.01.2014, 00:34 | 2 | ||||||||||
Определение количества выбранных записей является нежелательной операцией потому что требует полной выборки всего результата запроса в память. А если запрос возвращает большие блобы, то это может быть вообще невозможно. Лучше всего переписать алгоритм так, чтобы он не требовал определения общего количества записей, а просто работал с выборкой пока она не закончится.
Но если вам так нужно, то есть три варианта: 1. PDOStatement::rowCount() -- негарантированный метод, вот, что о нем пишут:
1
|
6 / 6 / 1
Регистрация: 07.11.2013
Сообщений: 57
|
||||||
22.01.2014, 00:57 [ТС] | 3 | |||||
Спасибо!) Ещё до вашего поста я нашел, но вы меня переубедили)
0
|
Native x86
5520 / 3279 / 934
Регистрация: 13.02.2013
Сообщений: 10,393
|
|
22.01.2014, 01:05 | 4 |
Вы это, используйте какой-то один из предложенных методов
У вас и COUNT(0) в запросе, и fetchAll() в скрипте. Либо уберите COUNT(0) и тогда count($sms_c) будет правильной, либо вместо извлечения длины массива, проверьте значение возвращенного значения $sms_c['ROW_COUNT'], оно будет равно трем. Добавлено через 2 минуты Хотя, если у вас $sms_r->rowCount(); работает правильно и вы не планируете запускать ваш скрипт с другой базой данных, то оставляйте так, движку виднее сколько там у него записей получилось.
0
|
6 / 6 / 1
Регистрация: 07.11.2013
Сообщений: 57
|
|
22.01.2014, 01:12 [ТС] | 5 |
ааа! у меня уже голова не варит. Как правильнее сделать?) И ещё, до этого плотно сидел на mysql_*, но друг посоветовал попробовать PDO, я с начало отказывался, мол то-сё, потом он меня уговорил. Честно сказать, в первый раз меня стошнило, но я решил попробовать ещё раз, потом мне понравилось, сейчас меня накрыло и я понимаю, что выше я написал полный бред. Ну ладно, вернёмся к теме, я вообще правильный синтаксис использую?
0
|
Native x86
5520 / 3279 / 934
Регистрация: 13.02.2013
Сообщений: 10,393
|
|||||||||||
22.01.2014, 01:22 | 6 | ||||||||||
1
|
22.01.2014, 01:22 | |
22.01.2014, 01:22 | |
Помогаю со студенческими работами здесь
6
Mysql_num_rows() expects parameter 1 to be resource Что шустрее? select count(*) или mysql_num_rows? Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in on line 42 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |