我正在做一个函数(),我想在foreach循环中调用函数时显示所有数据。
突然,当函数不起作用时,它只返回第一行数据,但在数据库中有2行数据。
以下是我的代码:
function getComments($conn,$postId){
$commentSql = " SELECT comments.id, comments.user_id, comments.user_desc, comments.timestamp, user.firstname, user.lastname
FROM comments
INNER JOIN user
ON user.id = comments.user_id
WHERE post_id = ? ";
if($commentStmt = $conn->prepare($commentSql)){
$commentStmt->bind_param("i", $postId);
$commentStmt->execute();
$commentStmt->bind_result($commentId, $userId, $userComment, $comment_timestamp, $user_firstname, $user_lastname);
while ($commentStmt->fetch()) {
echo "user dec: $userComment comment id: $commentId";
}
$commentStmt->close();
}else{
return "error preparing sql";
}
}
当我为每个循环调用函数时:
echo getComments($conn,$post_id);
表评论:
我的当前输出仅显示1行数据:
答案 0 :(得分:-1)
WHERE post_id = ? ";
您传递的帖子ID在两条评论中有所不同。一个是id 6,另一个是9。