Php 在另一个选择中选择并不会显示所有内容
我正在尝试从数据库和图像中选择数据 两者都可以单独工作,但是如果我在while循环中粘贴图像select,它将只显示数据库的一行 这是第一个选择:Php 在另一个选择中选择并不会显示所有内容,php,sql,Php,Sql,我正在尝试从数据库和图像中选择数据 两者都可以单独工作,但是如果我在while循环中粘贴图像select,它将只显示数据库的一行 这是第一个选择: $example = 5; $stmt = $conn->prepare("SELECT id, name, etc.. FROM cards WHERE example = ?"); $stmt->bind_param("i", $example); $stmt->execute(); $result = $stmt->ge
$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">×</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();
?>
正如@dharman在评论中指出的,变量$result在循环中被覆盖
$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();
如果将结果作为另一个变量存储在循环中,则两个循环都应正常运行 如果您试图显示HTML,就会出现语法错误。您确实需要格式化代码并将HTML与PHP分离。在循环中覆盖变量,但您甚至看不到它。使用适当的IDE,突出显示语法和格式。我的代码中没有错误,只是忘记关闭这里的div。没有。你不能混合使用PHP和HTML。你需要把它们分开。你什么意思?我有一个php文件,包含分离的html和php部分。我必须将记录放入html代码中才能显示它们。这对解决问题有什么帮助?你的意思是我只需要在第二次选择中将$result更改为其他内容,就这样?你是对的,$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();