嗨,我是 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 關注
- 189 瀏覽
添加回答
舉報
0/150
提交
取消