5

我在列出带有准备好的陈述的评论时遇到问题。有任何想法吗?

这是我的代码:

$fetchComments = $cnx -> prepare("SELECT comment FROM comments WHERE video_id=? LIMIT 1");
$fetchComments -> bind_param('s', $row['id']);
$fetchComments -> execute();
$fetchComments -> store_result();
$fetchComments -> bind_result($vid_comment);
if ($fetchComments -> num_rows > 0) {
    whike ($row = mysqli_fetch_assoc($vid_comment)){
    echo $row['comment'];
    }
}
4

2 回答 2

8

[出于某些未知(并且非常奇怪)的原因]您不能在 mysqli_stmt 对象上使用 fetch_assoc。
您需要先使用 mysqli_get_result() 获取 mysqli 结果资源。

一致地命名您的变量。Mysqli 语句与您的评论无关,对它们一无所知,也不包含它们。它只是一个 mysqli 语句对象。

$stmt->execute();
$res = $stmt->get_result(); // here you go
while ($row = mysqli_fetch_assoc($res)) {
    echo $row['comment'];
}

尽管您永远无法判断此功能是否可用于 mysqli。

于 2013-06-10T01:47:41.500 回答
0

您的脚本中有错误。您正在使用mysqli_fetch_assoc,而您必须使用fetch(). 错误在这里

while ($row = mysqli_fetch_assoc($vid_comment)){

所以你应该改用

while ($fetchComments ->fetch()) {
   echo $vid_comment 
}

您可以在此处查看文档

于 2013-06-09T22:37:15.873 回答