我的测试代码:
$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_affected_rows与INSERT, UPDATE, REPLACE和DELETE一起工作。
为什么我也可以通过mysql_affected_rows
得到正确的结果?
这是我在网上找到的。
来源mysql_affected_rows()用于SELECT,表示执行该操作的行数被发现。Mysql_num_rows()表示实际有多少行返回。它们可能不一样,IIRC,如果有限制条款或类似的。GROUP BY也可能造成差异。
我建议你必须使用
MySQLi http://php.net/manual/en/book.mysqli.php
或
PDO_MySQL http://php.net/manual/en/ref.pdo-mysql.php