Чем заменить mysql_num_rows

136
28 июля 2019, 16:40

Ранее работало вот это

$cnt_price = mysql_num_rows(mysql_query("SELECT `product_razdel`, COUNT(`product_razdel`) AS cnt FROM `".$db."`.`".$prefiks."products` GROUP BY `product_razdel`"))  or die(mysql_errno() . ": " . mysql_error(). "\n");

решил немного обновиться, перешел на PHP 5.5, Mysql 5.6 теперь подключение PDO и кругом одни Deprecated

Подскажите пожалуйста, чем заменить эту строку?

Answer 1

Ничем. mysql_num_rows() - это это абсолютно бессмысленная функция, которая никогда не бывает нужна. Вместо того, чтоб запрашивать у базы данных кучу строк и потом считать их, надо сказать базе, чтобы она посчитала сама, и вернула готовый результат.

А в данном конкретном случае у нас еще и запрос делает кучу бессмысленных операций.

Если переписывать на PDO, то подключение берем отсюда, и дальше пишем

$sql = "SELECT COUNT(DISTINCT product_razdel) FROM `$db`.`{$prefiks}products`";
$cnt_price = $pdo->query($sql)->fetchColumn();
READ ALSO
Не могу установить расширение mbstring

Не могу установить расширение mbstring

При установке phpunit через composer получаю следующую ошибку

147
В чем ошибка аjax удаления комментария?

В чем ошибка аjax удаления комментария?

Изучаю ajax и решил переделать на своем тестовом сайте удаление комментариевСобственно данный код удаляет комментарий только после перезагрузки...

122
Работа с анонимными классами

Работа с анонимными классами

Задался таким вот вопросомПопробую описать

117
Как грамотно вставить название таблицы из переменной в SQL-запрос? PHP/PDO

Как грамотно вставить название таблицы из переменной в SQL-запрос? PHP/PDO

Забиндить невозможно, а аналогов mysql_real_escape_string() у PDO нетБудет ли правильно использовать PDO::quote() ?

122