PHP mysqli_fetch_array MySQLi 函数

  • 定义和用法

    mysqli_fetch_array - 获取结果行作为关联数组,数字数组或两者兼而有之
  • 版本支持

    PHP4 PHP5 PHP7
    不支持 支持 支持
  • 语法

    mysqli_fetch_array ( mysqli_result $result [, int $resulttype = MYSQLI_NUM ] )
    
    返回与获取的行相对应的数组;如果result参数表示的结果集没有更多行,则返回NULL。 mysqli_fetch_array() 是mysqli_fetch_row()函数的扩展版本。 除了将数据存储在结果数组的数字索引中之外,mysqli_fetch_array()函数还可以使用结果集的字段名称作为键将数据存储在关联索引中。
    注意: 此函数返回的字段名大小写敏感。
    注意: 此函数将 NULL 字段设置为 PHP NULL 值。
    如果结果的两列或更多列具有相同的字段名称,则最后一列将具有优先权并覆盖先前的数据。 为了访问具有相同名称的多个列,必须使用该行的数字索引版本。
  • 参数

    参数 必需的 描述
    result mysqli_query()mysqli_store_result()mysqli_use_result() 返回的结果集标识。
    resulttype 此可选参数是一个常量,指示应从当前行数据中生成哪种类型的数组。 此参数的可能值为常数MYSQLI_ASSOCMYSQLI_NUMMYSQLI_BOTH。通过使用MYSQLI_ASSOC常量,此函数的行为将与mysqli_fetch_assoc()相同,而MYSQLI_NUM的行为将与mysqli_fetch_row()函数相同。 最后一个选项MYSQLI_BOTH将创建具有两个属性的单个数组。
  • 返回值

    返回与获取的行对应的字符串数组;如果结果集中没有更多的行,则返回NULL。
  • 示例

    <?php
    $link = mysqli_connect("localhost", "my_user", "my_password", "world");
    
    /* check connection */
    if (mysqli_connect_errno()) {
       printf("Connect failed: %s\n", mysqli_connect_error());
       exit();
    }
    
    $query = "SELECT Name, CountryCode FROM City ORDER by ID LIMIT 3";
    $result = mysqli_query($link, $query);
    
    /* numeric array */
    $row = mysqli_fetch_array($result, MYSQLI_NUM);
    printf ("%s (%s)\n", $row[0], $row[1]);
    
    /* associative array */
    $row = mysqli_fetch_array($result, MYSQLI_ASSOC);
    printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
    
    /* associative and numeric array */
    $row = mysqli_fetch_array($result, MYSQLI_BOTH);
    printf ("%s (%s)\n", $row[0], $row["CountryCode"]);
    
    /* free result set */
    mysqli_free_result($result);
    
    /* close connection */
    mysqli_close($link); 
    
  • 相关函数

    mysqli_fetch_assoc() - 提取结果行作为关联数组
    mysqli_fetch_row() -  获取结果行作为枚举数组
    mysqli_fetch_object() - 返回结果集的当前行作为对象
    mysqli_query() - 对数据库执行一次查询
    mysqli_data_seek() - 将结果指针调整为结果中的任意行