首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysqli_fetch_array和MYSQLI_BOTH有什么区别?

mysqli_fetch_array和MYSQLI_BOTH有什么区别?
EN

Stack Overflow用户
提问于 2016-01-07 06:37:35
回答 7查看 27.6K关注 0票数 16

我知道

代码语言:javascript
复制
mysqli_fetch_assoc,
mysqli_fetch_array,
mysqli_fetch

然而,MYSQLI_BOTH是否等于mysqli_fetch_array,或者它们实际上是不同的?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2016-01-07 06:43:15

来自PHP手册:

通过使用MYSQLI_ASSOC常量,此函数的行为将与mysqli_fetch_assoc()相同,而MYSQLI_NUM的行为将与mysqli_fetch_row()函数相同。最后一个选项MYSQLI_BOTH将创建一个具有两个属性的数组。

这些是可选参数,用于指示array的返回类型。

以下是基本的例子:

代码语言:javascript
复制
$result->fetch_array(MYSQLI_NUM);

array(
    0 => "val 1",
    1 => "val 2"
);

$result->fetch_array(MYSQLI_ASSOC);

array(
    'key0' => "val 1",
    'key1' => "val 2"
);

$result->fetch_array(MYSQLI_BOTH);

array(
    0 => "val 1",
    'key0' => "val 1",
    1 => "val 2",
    'key1' => "val 2"
);

PHP手册

票数 32
EN

Stack Overflow用户

发布于 2016-01-07 06:43:25

数组()

函数还可以使用结果集的字段名作为键,将数据存储在关联索引中。

,例如

代码语言:javascript
复制
<?php
    mysqli_connect("localhost", "mysql_user", "mysql_password") or
        die("Could not connect: " . mysqli_error());
    mysqli_select_db("mydb");

    $result = mysqli_query("SELECT id, name FROM mytable");

    while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
        printf ("ID: %s  Name: %s", $row["id"], $row["name"]);
    }

    mysqli_free_result($result);
?>

两者都有

将创建一个具有两个属性的单一数组。

,例如

代码语言:javascript
复制
<?php
    mysqli_connect("localhost", "mysql_user", "mysql_password") or
        die("Could not connect: " . mysqli_error());
    mysqli_select_db("mydb");

    $result = mysqli_query("SELECT id, name FROM mytable");

    while ($row = mysqli_fetch_array($result, MYSQLI_BOTH)) {
        printf ("ID: %s  Name: %s", $row[0], $row["name"]);
    }

    mysqli_free_result($result);
?>
票数 7
EN

Stack Overflow用户

发布于 2016-01-07 06:41:46

代码语言:javascript
复制
mysqli_fetch_array()

还有第二个论点$resulttype

有三种选择:

MYSQLI_ASSOCMYSQLI_NUM,或MYSQLI_BOTH

意思:

MYSQLI_ASSOC:获取关联数组

MYSQLI_NUM:获取数字数组

MYSQLI_BOTH:获取关联数组和数字数组。

MYSQLI_BOTH是默认的。

如果我们不提供第二个参数,将考虑MYSQLI_BOTH

因此,声明:

$result = mysqli_fetch_array($res,MYSQLI_BOTH);

$result = mysqli_fetch_array($res);

是平等的。

http://php.net/manual/en/mysqli-result.fetch-array.php

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34648767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档