mysql_num_rows和mysql_affected_rows在执行SELECT SQL时返回相同的结果

时间:2015-09-24 03:50:45

标签: php mysql-num-rows

我的测试代码:

    $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获得正确的结果?

任何帮助和建议都会非常明显。

2 个答案:

答案 0 :(得分:0)

我建议您必须使用

MySQLi http://php.net/manual/en/book.mysqli.php

PDO_MySQL http://php.net/manual/en/ref.pdo-mysql.php

用于访问数据库的更新方法,因为您的方法在PHP 5.5.0中已弃用

答案 1 :(得分:0)

这是我在互联网上找到的内容。

  

用于SELECT的mysql_affected_rows()表示行数   被找到。 mysql_num_rows()表示实际有多少行   回。如果您有LIMIT条款,它们可能不一样,IIRC   或类似的。 GROUP BY也可能造成差异。

Source

查看底部来源的答案。