PHP mysqli fetch_fields() 函数

定义和用法

fetch_fields() / mysqli_fetch_fields() 函数返回一个对象数组,这些对象表示结果集中的字段。

实例

例子 1 - 面向对象风格

返回一个对象数组,这些对象表示结果集中的字段,然后打印每个字段的名称、表和最大长度:

<?php
$mysqli = new mysqli("localhost","my_user","my_password","my_db");

if ($mysqli -> connect_errno) {
  echo "Failed to connect to MySQL: " . $mysqli -> connect_error;
  exit();
}

$sql = "SELECT Lastname, Age FROM Persons ORDER BY Lastname";

if ($result = $mysqli -> query($sql)) {

  // 获取所有字段的字段信息
  $fieldinfo = $result -> fetch_fields();

  foreach ($fieldinfo as $val) {
    printf("Name: %s\n", $val -> name);
    printf("Table: %s\n", $val -> table);
    printf("Max. Len: %d\n", $val -> max_length);
  }
  $result -> free_result();
}

$mysqli -> close();
?>

例子 2 - 过程式风格

返回一个对象数组,这些对象表示结果集中的字段,然后打印每个字段的名称、表和最大长度:

<?php
$con = mysqli_connect("localhost","my_user","my_password","my_db");

if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  exit();
}

$sql = "SELECT Lastname, Age FROM Persons ORDER BY Lastname";

if ($result = mysqli_query($con , $sql)) {

  // 获取所有字段的字段信息
  $fieldinfo = mysqli_fetch_fields($result);

  foreach ($fieldinfo as $val) {
    printf("Name: %s\n", $val->name);
    printf("Table: %s\n", $val->table);
    printf("Max. Len: %d\n", $val->max_length);
  }
  mysqli_free_result($result);
}

mysqli_close($con);
?>

语法

面向对象风格:

$mysqli_result -> fetch_fields()

过程式风格:

mysqli_fetch_fields(result)
参数 描述
result 必需。指定由 mysqli_query()、mysqli_store_result() 或 mysqli_use_result() 返回的结果集标识符。

技术细节

返回值:

返回包含字段定义信息的对象数组。如果没有可用信息,则返回 FALSE。

这些对象具有以下属性:

  • name - 列的名称
  • orgname - 原始列名(如果指定了别名)
  • table - 表的名称
  • orgtable - 原始表名(如果指定了别名)
  • max_length - 字段的最大宽度
  • length - 表定义中指定的字段宽度
  • charsetnr - 字段的字符集编号
  • flags - 字段的位标志
  • type - 用于字段的数据类型
  • decimals - 对于整数字段;使用的小数位数
PHP 版本: 5+