粮飘拼刮谱络排吨啡龄经橡变
表结构:表中有5个字段
新建mysqli_field_result.php
代码:
<?php //结果集中的字段和指针操作 //连接数据库 require "mysqli_connect.php"; if($result=mysqli_query($db,'select * from staff limit 5')) { while($row=mysqli_fetch_assoc($result)) { print_r($row);echo "<hr>"; } }
执行:
查询结果集中的字段数:
<?php //结果集中的字段和指针操作 //连接数据库 require "mysqli_connect.php"; if($res=mysqli_query($db,'select name,sex,salary from staff limit 7')) { while($row=mysqli_fetch_assoc($res)) { print_r($row);echo "<hr>"; } } echo "<hr color='red'>"; echo "表中的记录数量是:".mysqli_num_rows($res)."<br>"; echo "表中每个记录的字段数量是:".mysqli_num_fields($res)."<br>";
执行,mysqli_num_fields($res)查询的是结果集中的字段数,并不是原始表中字段数(原始表中的字段为5)
sql语句:’select name,sex,salary from staff limit 7’只查询了三个字段,所以mysqli_num_fields($res)值为3
当前字段在字段结果集中的位置
字段集的意思:值得是由staff_id,name,sex,age,salary组成的集合
<?php //结果集中的字段和指针操作 //连接数据库 require "mysqli_connect.php"; if($res=mysqli_query($db,'select sex,salary from staff limit 7')) { while($row=mysqli_fetch_assoc($res)) { print_r($row);echo "<hr>"; } } echo "<hr color='red'>"; 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>";
执行:
查看字段的详细信息:
<?php //结果集中的字段和指针操作 //连接数据库 require "mysqli_connect.php"; if($res=mysqli_query($db,'select * from staff limit 7')) { while($row=mysqli_fetch_assoc($res)) { print_r($row);echo "<hr>"; } } echo "<hr color='red'>"; echo "结果集中字段的详细信息:<br>"; echo "<pre/>"; print_r(mysqli_fetch_field($res));
执行,当前看见的是staff_id字段的详细信息
查看结果集中其他字段的详细信息,指针下移,注意指针偏移量不能超出查询的字段数,如查询2个字段,指针偏移量最大只能为1(数组下标为1,是第二个字段),否则会提示无效的偏移量
查看sex字段的详细信息:
<?php //结果集中的字段和指针操作 //连接数据库 require "mysqli_connect.php"; if($res=mysqli_query($db,'select * from staff limit 7')) { while($row=mysqli_fetch_assoc($res)) { print_r($row);echo "<hr>"; } } echo "<hr color='red'>"; echo "结果集中字段的详细信息:<br>"; echo "<pre/>"; mysqli_field_seek($res,2);//指针移动到第三个字段即:sex字段 print_r(mysqli_fetch_field($res));
执行:
循环输出结果集中所有字段的详细信息:
<?php //结果集中的字段和指针操作 //连接数据库 require "mysqli_connect.php"; if($res=mysqli_query($db,'select * from staff limit 7')) { while($row=mysqli_fetch_assoc($res)) { print_r($row);echo "<hr>"; } } echo "<hr color='red'>"; //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>"; echo "结果集中字段的详细信息:<br>"; echo "<pre/>"; for($i=0;$i<mysqli_num_fields($res);$i++) { mysqli_field_seek($res,$i); print_r(mysqli_fetch_field($res)); }
执行:
使用mysqli_fetch_fields($res)函数获取所有结果集中字段的基本信息
<?php //结果集中的字段和指针操作 //连接数据库 require "mysqli_connect.php"; if($res=mysqli_query($db,'select * from staff limit 7')) { while($row=mysqli_fetch_assoc($res)) { print_r($row);echo "<hr>"; } } echo "<hr color='red'>"; echo "结果集中字段的详细信息:<br>"; echo "<pre/>"; //一次性获取所有字段的基本信息,用对象表示 print_r(mysqli_fetch_fields($res));
执行:
获取某个字段的详细信息
获取sex字段的详细信息
<?php //结果集中的字段和指针操作 //连接数据库 require "mysqli_connect.php"; if($res=mysqli_query($db,'select * from staff limit 7')) { while($row=mysqli_fetch_assoc($res)) { print_r($row);echo "<hr>"; } } echo "<hr color='red'>"; echo "结果集中字段的详细信息:<br>"; echo "<pre/>"; mysqli_field_seek($res,2); $field_info=mysqli_fetch_field($res); echo "第三个字段的名字是:".$field_info->name;
执行:
使用:mysqli_fetch_field_direct($res,4)直接获取某个字段
<?php //结果集中的字段和指针操作 //连接数据库 require "mysqli_connect.php"; if($res=mysqli_query($db,'select * from staff limit 7')) { while($row=mysqli_fetch_assoc($res)) { print_r($row);echo "<hr>"; } } echo "<hr color='red'>"; echo "结果集中字段的详细信息:<br>"; echo "<pre/>"; $field_info=mysqli_fetch_field_direct($res,4); echo "第五个字段的名字是:".$field_info->name;
执行:
获取字段数量和字段基本信息的意义:
生成表格时,可以根据结果集的字段数量,动态生成表头数量。更加字段名生成表格的表头内容
浚肚辈渺诲悉缅叙陌戮纶算显