Мой тестовый код:
$connection = mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_select_db("chaoge", $connection);
mysql_query("SET NAMES UTF8", $connection);
$rs = mysql_query("SELECT * FROM babel_node WHERE nod_pid = 2101", $connection);
$nu = mysql_affected_rows();
echo $nu;
Там написано, что mysql_affered_rows работает с INSERT, UPDATE, REPLACE и DELETE。
Почему я также могу получить правильный результат через mysql_affected_rows
?
Любая помощь и предложения будут весьма заметны。
Вот что я нашел в интернете.
mysql_affered_rows () для SELECT указывает количество строк, которые
были найдены. mysql_num_rows () указывает, сколько строк было на самом деле
вернулся. Они могут не совпадать, IIRC, если у вас есть предложение LIMIT
или похожие. GROUP BY также может вызвать разницу.
Смотрите ответы по источнику внизу.
Я предлагаю вам использовать
MySQLi http://php.net/manual/en/book.mysqli.php
или же
PDO_MySQL http://php.net/manual/en/ref.pdo-mysql.php
для обновленного метода доступа к базе данных, так как ваш метод устарел в PHP 5.5.0