gpt4 book ai didi

php - MySQL SELECT 查询只返回一行

转载 作者:行者123 更新时间:2023-11-28 23:21:27 24 4
gpt4 key购买 nike

在以下方面需要帮助。我想调用所有相关的行,但我只得到一个。我已经尝试了所有可能的方法来输出它,但我得到的只是来自不同 session 的一个结果。 getID 函数调用事件 session 用户 ID,但所有 session 的结果都相同。

    public function getChildId()
{
$child_id = $this->db->query("SELECT firstname, lastname
FROM " . $this->db->table("customers") . "
RIGHT JOIN " . $this->db->table("genealogy") . " on parent_id
WHERE parent_id = '". $this->customer->getID(). "'"
);
foreach ($child_id as $child => $child_id->num_rows ) {
$child = array(
$this->name = $child_id->row['firstname'],
$this->surname = $child_id->row['lastname']
);
}
return $child;
}

var_dump ($child) 上,我得到:array (size=2)
0 => 字符串 'John' (长度=8)
1 => 字符串 'Doe'(长度 = 9)
我在数据库中有 3 个客户条目/行

最佳答案

在每次迭代中,您都在覆盖或重新创建数组 $child,因此最后您在数组 $child 中只有一个元素(迭代的最后一行)。

改变

$child = array(
$this->name = $child_id->row['firstname'],
$this->surname = $child_id->row['lastname']
);

(在每次迭代中将一个或多个元素压入数组的末尾)

$child[] = array(
$this->name = $child_id->row['firstname'],
$this->surname = $child_id->row['lastname']
);

您还可以使用 array_push如下图

array_push(
$child,
array(
$this->name = $child_id->row['firstname'],
$this->surname = $child_id->row['lastname']
)
);

关于php - MySQL SELECT 查询只返回一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41417919/

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