我在我的functions.php文件中创建了一个数组,可以在另一个页面上访问。然后我返回了数组并在另一个页面上调用它。这就是我所拥有的:
在我的functions.php文件中,我有
public function getpostcontent($userid){
include('db-conx.php');
$getval = "SELECT `content`,`date` FROM posts WHERE userid = ?";
$stmt = $conn->stmt_init();
if ($stmt->prepare($getval))
{
//$userid = $_SESSION['userid'];
$stmt->bind_param("s", $userid);
$stmt->execute();
$stmt->bind_result($content, $date);
while ($stmt->fetch()) {
$displayname = getdisplayname($userid);
$array = [
"content" => $content,
"date" => $date,
];
}
return $array;
}
}
我使用它来访问我的另一页上的数组。
$posts = new getposts();
$returned=$posts->getpostcontent($userid);
foreach($returned as $val)
{
echo $val['content'];
}
我已经尝试过在谷歌和其他地方找到的所有解决方案,但没有运气。它在我使用print_r($ val)时有效;检索数组中的所有元素,但抛出非法字符串偏移量'当我尝试单独访问它们时。帮助
答案 0 :(得分:1)
我可以看到的一个问题是
的每次迭代while ($stmt->fetch())
每次都在写变量$ array,最后返回最后一个数组。改变
$array
到
$array[]
为了收集每次迭代,所以for循环不只是迭代一个数组的键值对。