曲径通幽论坛

标题: mysql_num_rows()/mysql_num_fields() -- 结果集中的行数和字段数 [打印本页]

作者: beyes    时间: 2012-5-31 17:16
标题: mysql_num_rows()/mysql_num_fields() -- 结果集中的行数和字段数
mysql_num_rows() 适用于执行 SELECT 语句,可以返回被筛选出来的字段数,定义如下:
[Plain Text] 纯文本查看 复制代码
int mysql_num_rows ( resource $result )

其中 $result 参数为资源标识符。

mysql_num_fields() 函数适用于执行 SELECT 语句,可以返回被筛选出来的字段数,定义如下:
[Plain Text] 纯文本查看 复制代码
int mysql_num_fields ( resource $result )

同样,$result 参数为资源标识符。

测试代码:
[PHP] 纯文本查看 复制代码

        <?php
            header("Content-type: text/html;charset=utf-8");

           require_once("dbfuncs.php");

           $link = create_connection();

           $sql = "SELECT * FROM `pw_members` WHERE `uid` < 10";

           $result = execute_sql("groad", $sql, $link);

           echo "The records that uid less than 10 have " . mysql_num_rows($result) . " rows";

           echo " and contain " . mysql_num_fields($result) . " fields.";

           mysql_close($link);
        ?>

在上面的代码中,一开始使用了 header()  函数来保证编码在客户浏览器端正确显示中文。接着使用 require_once() 函数包含了 dbfuncs.php 这个文件,在该文件中,封装了常用来连接和查询数据库的两个函数,其内容如下:
[PHP] 纯文本查看 复制代码
<?php
    function create_connection()
    {
        $link = mysql_connect("localhost", "root", "mypassword")
            or die("Can not connect to database<br><br>" . mysql_error());

        return $link;
    }

    function execute_sql($database, $sql, $link)
    {
        $db_selected = mysql_select_db($database, $link)
            or die("Select database failed<br><br>" . mysql_error($link));
        
        $result = mysql_query($sql, $link);

        return $result;
    }
?>

上面程序的输出结果为:
The records that uid less than 10 have 8 rows and contain 42 字段.
结果可用 phpmyadmin 里验证:
[attach]536[/attach]
共查询到 8 条符合条件的数据。
[attach]537[/attach]
每条数据总共由 42 个字段来描述。




欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2