Я прочитал, что mysql_num_rows устарел от PHP 5.5.0 и будет удален в будущем. Итак, что лучше всего по вашему мнению?
$KatalogVrstaID = $redak_katalog['KatalogVrstaID']; $rezultat_podvrsta=mysql_query("SELECT * FROM katalog_podvrsta WHERE KatalogPodvrstaVrsta='$KatalogVrstaID' ORDER BY KatalogPodvrstaID ASC"); if (mysql_num_rows($rezultat_podvrsta)==0){ ?>
Функции mysql в целом устарели, это не только mysql_num_rows
. Вы должны переключиться на базу данных mysqli или POD . Короче говоря, все функции mysql_ * устарели.
Подробнее о выборе API базы данных вы можете узнать здесь .
Mysqli – это новая библиотека, которую вы должны использовать. они используют одни и те же имена функций, но вместо mysql вы пишете mysqli .. вам также нужно добавить еще один параметр, который является ссылкой.
Расширение mysql устарело от PHP 5.5.0. Вместо этого следует использовать расширение mysqli или PDO_MySQL http://at1.php.net/class.mysqli
Единственной заменой является прекращение использования mysql_*
целом, потому что вся библиотека устарела.
PDO предоставляет PDOStatement::rowCount()
который вы используете для объектов результатов, а MySQLi предоставляет mysqli_result::$num_rows
или mysqli_num_rows()
.
1) Используйте MySQLi / PDO, как сказали выше авторы. 2) Я прочитал в книге, что rowCount () не на 100% надежнее для операторов Select в некоторых СУБД, но их альтернативы считать все строки
a) использовать fetchAll () <- не рекомендуется для больших результатов. б) используйте COUNT (*) в Select-Statement и работайте с результатом.