gpt4 book ai didi

php - 为什么这个函数只返回 5 个数组中的一个(第一个)值?

转载 作者:行者123 更新时间:2023-11-29 07:09:52 26 4
gpt4 key购买 nike

当我的用户登录我的应用程序以检索他们所属的“社区”列表时,我正在运行 SQL 查询。

我正在尝试通过将登录链接直接粘贴到我的地址栏中来测试返回的值。

它应该返回一个包含 5 个条目的数组,但它只返回 1 个。

我已经在 phpMyAdmin 中测试了 SQL 查询,它返回了正确的结果。

我做错了什么?

这是来自userLogin.php

$communities = array();
$communities = $dao->getCommunities($email);
echo json_encode($communities);

它在MySQLDao.php中运行以下函数

public function getCommunities($email){

$returnValue = array();
$sql = "SELECT communities.name \n"
. "FROM users \n"
. "join community_players \n"
. "on community_players.player_id=users.id \n"
. "join communities \n"
. "on communities.id=community_players.community_id \n"
. "WHERE users.user_email = '".$email."'";

$result = $this->conn->query($sql);
if($result != null && (mysqli_num_rows($result) >= 1)){
$row = $result -> fetch_array(MYSQLI_ASSOC);
if(!empty($row)){
$returnValue = $row;
}
}
return $returnValue;
}

当前在浏览器中返回 {"name":"EncliffeT"}。不过,应该还有另外 4 个条目。

最佳答案

您的代码仅获取第一行。替换这些行:

if($result != null && (mysqli_num_rows($result) >= 1)){
$row = $result -> fetch_array(MYSQLI_ASSOC);
if(!empty($row)){
$returnValue = $row;
}
}

有这些:

if($result != null && (mysqli_num_rows($result) >= 1)){
while($row = $result -> fetch_array(MYSQLI_ASSOC)){
if(!empty($row)){
$returnValue[] = $row;
}
}
}

关于php - 为什么这个函数只返回 5 个数组中的一个(第一个)值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40177089/

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