嗨,我是 MVC 编程的新手。我试图通过谷歌搜索从 stackoverflow 和其他站点找到解决方案,但没有一个对我有用。请指导我哪里做错了。我的控制器代码:function getAllusers($id){ global $conn; $users = []; $sql = "SELECT * from Users WHERE id=$id"; $ownerdata = mysqli_query($conn, $sql); while($row = mysqli_fetch_assoc($ownerdata)) { $users[] = $row; } return $users;}查看(一段)代码: getAllusers($user_id); var_dump($users);在var_dump($users);我得到null和在控制器中,如果我var_dump()在返回之前这样做,我得到一个数组。请指导我克服这个问题。谢谢你!
2 回答
海绵宝宝撒
TA贡献1809条经验 获得超8个赞
您的函数getAllusers()
返回值,因此您需要将此值放入变量中以在视图中使用。
你有两个文件:
控制器:与您的数据(数据库等)通信。 视图:显示从某个控制器调用中收集的数据的位置。
创建函数时会发生什么getAllusers()
?该函数获取数据库中的数据并创建数组,如您的问题所示。
当您调用函数时,getAllusers()
您的$users
变量在函数范围内。这意味着$users
变量只能在函数内部访问getAllusers()
。
当您调用getAllusers()
另一个文件时,当函数结束时,$users
内部函数将从内存中删除。所以,返回函数就是把你需要的那条数据拿回来。
因此,当您在函数外部创建一个具有相同名称的新变量时(如下面的代码所示),这个新变量只会接收调用函数的返回值,而您不会丢失工作结果。
当你收到值时,你也可以用其他变量名做同样的事情。
尝试这个:
$users = getAllusers($user_id);
这会将函数的返回值放在getAllusers()
变量上$users
。
- 2 回答
- 0 关注
- 162 浏览
添加回答
举报
0/150
提交
取消