Blogger Information
Blog 71
fans 1
comment 1
visits 86953
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
结果集中的字段与指针操作
小威的博客
Original
799 people have browsed it
  • 结果集中的字段与指针操作


实例

<?php
/**
 * 结果集中的字段与指针操作
 */

require 'mysqli_connect.php';

if ($res = mysqli_query($db, "select * from staff limit 5")) {
    while($row = mysqli_fetch_assoc($res)){
        print_r($row); echo '<br>';
    }
    echo '<hr>';
    echo '表中的记录数量是:'.mysqli_num_rows($res).'<br>';
    echo '表中记录的字段数量是:'.mysqli_num_fields($res).'<br>';
    echo '当前字段数量'.mysqli_field_count($db).'<br>'; //注意参数必须是$db
    echo '当前字段在结果集中的位置'.mysqli_field_tell($res).'<br>';
//    var_dump(mysqli_fetch_field($res)); //以对象方式查看当前字段的详细信息
//    mysqli_field_seek($res,2); //移动字段指针

    //用循环来遍历字段结果集
    for ($i=0; $i<mysqli_num_fields($res); $i++) {
        mysqli_field_seek($res,$i);
        var_dump(mysqli_fetch_field($res));
    }
    echo '<hr>';
    //不需要循环遍历,快速获取全部字段的对象表示
    var_dump(mysqli_fetch_fields($res));

   /**
    * 如果要获取某一个字段的对象表示,应该分二步
    * 1. 移动字段指针对指定位置: mysqli_field_seek($res,2);指向第3个字段
    * 2. 查询当前位置的字段对象信息: mysqli_fetch_field($res)
    */
   echo '<hr>';
    mysqli_field_seek($res,2);
    var_dump(mysqli_fetch_field($res));
    echo '<hr color="red">';
    //其实,mysqli提供一个更简便的方法一步就可以实现上面二步完成的操作:
    var_dump(mysqli_fetch_field_direct($res,2));
    //例如我们要获取一下字段名称:
    $field_info = mysqli_fetch_field_direct($res,2);
    echo '第3个字段的名称是:'.$field_info->name;
}

mysqli_close($db);

运行实例 »

点击 "运行实例" 按钮查看在线实例

  • 结果集中的记录指针与遍历操作


实例

<?php
/**
 * 结果集中的记录指针与遍历操作
 */

require 'mysqli_connect.php';

if ($res = mysqli_query($db, "select * from staff limit 5")) {
    while($row = mysqli_fetch_assoc($res)){
        print_r($row); echo '<br>';
    }

    echo '<hr>';
    //将结果集中的记录指针定位到0,即第1条记录
    mysqli_data_seek($res,0);
    print_r(mysqli_fetch_assoc($res));
    echo '<br>';
    //将结果集中的记录指针定位到2,即第3条记录
    mysqli_data_seek($res,2);
    print_r(mysqli_fetch_assoc($res));
    echo '<br>';
    //那么最后一条记录的指针是多少呢?对,行数-1
    mysqli_data_seek($res,mysqli_num_rows($res)-1);
    print_r(mysqli_fetch_assoc($res));
    echo '<br>';

    //知道规律了,下面我们用for循环来遍历这个这个结果集
    echo '<hr color="red">';
    for($i=0; $i<mysqli_num_rows($res); $i++) {
        mysqli_data_seek($res,$i);
        print_r(mysqli_fetch_assoc($res));
        echo '<br>';
    }

    //恭喜大家又学到了一种遍历结果集的方法

}

mysqli_close($db);

运行实例 »

点击 "运行实例" 按钮查看在线实例


Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post