0

我正在使用 PHP 从 MySQL 中获取值。我的桌子有这种形式:

COL1 = MAIL mail@mail.com
COL2 = NAME myname

我从数据库中获取用户的行。

$query = mysqli_query($conn, "select * from user where mail = 'telmo@mail.com'");
$row = mysqli_fetch_array($query);

print_r($row);

但是我的输出很奇怪,它给了我一个像这样的二维数组:

Array ( [0] => mail@mail.com [MAIL] => mail@mail.com [1] => myname [NAME] => myname )

我正在学习 PHP,我想知道这是否应该是这样的。因为我想要更多类似的东西:

MAIL => mail@mail.com
NAME => myname

也许我没有很好地理解这种语法,但这就是我寻求帮助的原因。提前致谢

先感谢您

4

2 回答 2

1

在查询后指定 MYSQLI_ASSOC,或使用 mysqli_fetch_assoc。从手册:

resulttype 这个可选参数是一个常量,指示应该从当前行数据生成什么类型​​的数组。此参数的可能值是常量 MYSQLI_ASSOC、MYSQLI_NUM 或 MYSQLI_BOTH。

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

手册:http ://us2.php.net/mysqli_fetch_array

于 2013-11-15T00:51:07.817 回答
1

手册

mysqli_fetch_array() 是 mysqli_fetch_row() 函数的扩展版本。除了将数据存储在结果数组的数字索引中,mysqli_fetch_array() 函数还可以将数据存储在关联索引中,使用结果集的字段名称作为键。

你真正要找的是mysqli_fetch_assoc()

返回对应于获取的行的关联数组,如果没有更多行,则返回 NULL。

于 2013-11-15T00:49:15.460 回答