gpt4 book ai didi

php - 为什么从数据库中检索的数据被两次添加到 php 数组中?

转载 作者:太空宇宙 更新时间:2023-11-03 11:00:43 25 4
gpt4 key购买 nike

我有一个简单的用户表,其中包含以下列:用户名、密码、电子邮件、姓名、姓氏、生日、地址和城市。前三个是强制性的,但其余的可以为空。我正在连接到数据库并获取数组中的行并打印它。

$dbc=mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
$sql = "select * from user";
$data = mysqli_query($dbc, $sql) or die("query exec error");
//$json = array();
if(mysqli_num_rows($data)){
while($row=mysqli_fetch_array($data)){
//$json['Kullanici'][]=$row;
print_r($row);
echo "<br /><br />";
}
}
mysqli_close($dbc);
//echo json_encode($json);

但是输出是这样的:

Array ( [0] => ayse [username] => ayse [1] => b1b3773a05c0ed0176787a4f1574ff0075f7521e [password] => b1b3773a05c0ed0176787a4f1574ff0075f7521e [2] => ayse@hotmail.com [email] => ayse@hotmail.com [3] => [name] => [4] => [surname] => [5] => 0000-00-00 [birthdate] => 0000-00-00 [6] => [address] => [7] => istanbul [city] => istanbul )

Array ( [0] => baris [username] => baris [1] => 7c4a8d09ca3762af61e59520943dc26494f8941b [password] => 7c4a8d09ca3762af61e59520943dc26494f8941b [2] => bakkurt@hotmail.com [email] => bakkurt@hotmail.com [3] => Barış [name] => Barış [4] => [surname] => [5] => 0000-00-00 [birthdate] => 0000-00-00 [6] => [address] => [7] => [city] => )

问题是为什么同时存在 [0]=>baris 和 [username] => baris。我只期待用户名=>baris。我错了吗?我哪里不见了?如果我解决了这个问题,我将通过删除注释将数组转换为 json。

最佳答案

这不是问题,如果您查看 mysqli_fetch_array() 函数的 PHP 文档,它接受一个参数 resulttype;它确定是将记录作为数组返回,单独使用数字索引,单独使用关联索引,还是同时使用这两种索引(这是您所拥有的)。
默认情况下,该函数使用 MYSQLI_BOTH
单独获取数字索引:

while($row=mysqli_fetch_array($data, MYSQLI_NUM)){
//this will always return with numeric indices alone
}

有关更多信息,请查看此处 PHP mysqli_fetch_array

关于php - 为什么从数据库中检索的数据被两次添加到 php 数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16120308/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com