select在另一个select中并不显示所有内容

bjg7j2ky  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(353)

我正在尝试从数据库和图像中选择数据。
两者都是分开工作的,但是如果我将图像select粘贴到while循环中,它只显示数据库的一行。
这是第一个选择:

$example = 5;
$stmt = $conn->prepare("SELECT id, name, etc.. FROM cards WHERE example = ?");
$stmt->bind_param("i", $example);
$stmt->execute();
$result = $stmt->get_result();
while ($record = mysqli_fetch_assoc($result)) {
?>

//using the records here like this: 
<h4 class="card-category text-gray"><b><?php echo $record['job']; ?></b><br></h4>

//more records here

<?php
$sql = "SELECT id, image FROM cardimages WHERE cardid = ?";
$stmt = $conn->prepare($sql);
$id = $record['id'];
$stmt->bind_param('i', $id);
$stmt->execute();
$result = $stmt->get_result();

if (mysqli_fetch_assoc($result) != null) {
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
$image = $row['image'];
$data[] = $row;
?>

下面是我展示结果的地方:

<div class="modal fade bd-example-modal-lg show" id="myModal<?php echo $row["id"]; ?>" role="dialog">
<div class="modal-dialog">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body" id="dynamic-content">
<?php
echo "<img src='" . $image . "' class='img-fluid' />";
?>
</div>
</div>
</div>
</div>

结束while循环:

}
} else {
echo '<h5>No image availabe</h5>';
}
}
$conn->close();
?>
o2g1uqev

o2g1uqev1#

正如@dharman在评论中指出的,变量 $result 在循环中被覆盖。

$result = $stmt->get_result();

例如。

$stmt = $conn->prepare("SELECT id, name, etc.. FROM cards WHERE example = ?");
$stmt->bind_param("i", $example);
$stmt->execute();
$result = $stmt->get_result();

后来在代码中:

$sql = "SELECT id, image FROM cardimages WHERE cardid = ?";
$stmt = $conn->prepare($sql);
$id = $record['id'];
$stmt->bind_param('i', $id);
$stmt->execute();
$result = $stmt->get_result();

如果将结果作为另一个变量存储在循环中,那么两个循环都应该正常运行。

相关问题