gpt4 book ai didi

php - mysqli_fetch_assoc 返回重复数据

转载 作者:行者123 更新时间:2023-11-29 05:31:01 25 4
gpt4 key购买 nike

有很similar questions在这里,但经过大量搜索和尝试不同的东西后,我仍然卡住了。

当使用 mysqli_fetch_assoc() 填充数组时,每行被添加两次。

$query = "SELECT column FROM table WHERE year = 2012";
if ($result = mysqli_query($connect, $query)) {
while ($row = mysqli_fetch_assoc($result)) {
$data[] = $row["column"];
}
echo implode(',', $data);
mysqli_free_result($result);
}

这将返回以下内容:1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10

我期待 1,2,3,4,5,6,7,8,9,10

我添加了一些额外的行来进行一些调试...

print_r($data) 产量

Array ( 
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
[6] => 7
[7] => 8
[8] => 9
[9] => 10
[10] => 1
[11] => 2
[12] => 3
[13] => 4
[14] => 5
[15] => 6
[16] => 7
[17] => 8
[18] => 9
[19] => 10 )

print_r($result); 产量

mysqli_result Object 
(
[current_field] => 0
[field_count] => 1
[lengths] =>
[num_rows] => 10
[type] => 0
)

如果 [num_rows] => 10,并且我使用的是 mysqli_fetch_assoc() 而不是 mysqli_fetch_array(),为什么要添加数组的值两次?

最佳答案

可能您已经将一些数据分配给 $data 数组。尝试在 while 指令之前清空它:

$query = "SELECT column FROM table WHERE year = 2012";
if ($result = mysqli_query($connect, $query)) {
$data = array();
while ($row = mysqli_fetch_assoc($result)) {
$data[] = $row["column"];
}
echo implode(',', $data);
mysqli_free_result($result);
}

看看它输出了什么。

我相信 column 不是真正的列名,否则你会得到一个错误。

关于php - mysqli_fetch_assoc 返回重复数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14737862/

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