尝试访问我正在访问的页面时出现以下错误。
致命错误:不能在第44行的/.../comment.php中使用mysqli_result类型的对象作为数组
任何人都可以帮助解决问题所在吗?第44行低于......
$posts = mysqli_query($sql, "SELECT * FROM posts WHERE postid = '$related'") or die($posts . "<br/>" . mysqli_error($sql));
$postsId = $posts['postid']; // <-- This is line 44
答案 0 :(得分:0)
错误消息告诉您需要知道的所有内容:$posts
包含mysqli_result,您需要首先使用mysqli_fetch_array()
从中获取实际数据。
答案 1 :(得分:0)
试一试:
$posts = mysqli_query($sql, "SELECT * FROM posts WHERE postid = '$related'") or die($posts . "<br/>" . mysqli_error($sql));
$postData = mysqli_fetch_array($posts);
$postsId = $postData['postid'];
答案 2 :(得分:0)
$posts
的类型为mysqli_result
。它不是一个数组。数组将描述一个表行,但您可能会使用SQL查询获得多个表行。因此,在获得数据数组之前,必须将它们全部循环。有一些可能性:
示例强>
$posts = mysqli_query($sql, "SELECT * FROM posts WHERE postid = '$related'") or die($posts . "<br/>" . mysqli_error($sql));
while ($row = $posts->fetch_array()) {
// is_array($row) === true
var_dump($row["postid"]);
}
// or
while ($row = $posts->fetch_object()) {
// ($row instanceof stdClass) === true
var_dump($row->postid);
}