1) 使用mysqli_result类的成员方法(10个)
close():释放内存并关闭结果集
data_seek():明确改变当前结果记录顺序
fetch_field():从结果集中获取某一个字段的信息
fetch_fields():从结果集中获取全部字段的信息
fetch_field_direct():从一个指定的列中获取类的详细信息,返回一个包含列信息的对象
fetch_array():将以一个普通索引数组和关联数组两种形式返回一条结果记录
fetch_assoc():将以一个普通关联数组的形式返回一条结果记录
fetch_object():将以一个对象的形式返回一条结果记录
fetch_row():将以一个普通索引数组的形式返回一条结果记录
field_seek():设置结果集中字段的偏移位置
2)使用mysqli_result类的成员属性(4个)
$current_field:获取当前结果中指向的字段偏移位置,是一个整数
$field_count:从查询结果中获取列的个数
$lengths:返回一个数组,保存在结果集中获取当前行的每一个列的长度
$num_rows:返回结果集中包含记录的行数
小例子
<?php
$mysqli=new mysqli("localhost","root","","smarty_var");
if(mysqli_connect_errno()){
printf("连接失败:%s",mysqli_connect_errno());
exit();
}
$mysqli->query("set names gb2312");
$result=$mysqli->query("select * from contactinfo");
echo "结果数据表里数据列个数为".$result->field_count."列<BR>";
echo "默认当前列的指针位置为第".$result->current_field."列<br>";
echo "将指向当前列的指针移动到第二列;";
$result->field_seek(1);
echo "指向当前列的指针位置为".$result->current_field."列<br>";
echo "第二列的信息如下:<br>";
$finfo=$result->fetch_field();
echo "列的名称".$finfo->name."<br>";
echo "数据列来自数据表".$finfo->table."<br>";
echo "本列最长字符串长度为".$finfo->max_length."<BR>";
echo "<BR>";
echo "<BR>";
echo "<BR>";
echo "<BR>";
echo "<BR>";
echo "<BR>";
$result->field_seek(2);
echo "指向当前列的指针位置为".$result->current_field."列<br>";
echo "第二列的信息如下:<br>";
$ffo=$result->fetch_field();
echo "列的名称".$ffo->name."<br>";
echo "数据列来自数据表".$ffo->table."<br>";
echo "本列最长字符串长度为".$ffo->max_length."<BR>";
$result->close();
$mysqli->close();
?>
显示结果为
结果数据表里数据列个数为6列
默认当前列的指针位置为第0列
将指向当前列的指针移动到第二列;指向当前列的指针位置为1列
第二列的信息如下:
列的名称name
数据列来自数据表contactinfo
本列最长字符串长度为9
指向当前列的指针位置为2列
第二列的信息如下:
列的名称departmentId
数据列来自数据表contactinfo
本列最长字符串长度为3