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



我的测试代码:

    $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

为更新的访问数据库的方法,因为你的方法在PHP 5.5.0中被弃用

相关内容

  • 没有找到相关文章

最新更新