我知道
mysqli_fetch_assoc,
mysqli_fetch_array,
mysqli_fetch然而,MYSQLI_BOTH是否等于mysqli_fetch_array,或者它们实际上是不同的?
发布于 2016-01-07 06:43:15
来自PHP手册:
通过使用MYSQLI_ASSOC常量,此函数的行为将与mysqli_fetch_assoc()相同,而MYSQLI_NUM的行为将与mysqli_fetch_row()函数相同。最后一个选项MYSQLI_BOTH将创建一个具有两个属性的数组。
这些是可选参数,用于指示array的返回类型。
以下是基本的例子:
$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"
);发布于 2016-01-07 06:43:25
函数还可以使用结果集的字段名作为键,将数据存储在关联索引中。
,例如
<?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);
?>将创建一个具有两个属性的单一数组。
,例如
<?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);
?>发布于 2016-01-07 06:41:46
mysqli_fetch_array()还有第二个论点$resulttype。
有三种选择:
MYSQLI_ASSOC,MYSQLI_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);
是平等的。
https://stackoverflow.com/questions/34648767
复制相似问题