Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在另一个选择中选择并不会显示所有内容_Php_Sql - Fatal编程技术网

Php 在另一个选择中选择并不会显示所有内容

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

我正在尝试从数据库和图像中选择数据

两者都可以单独工作,但是如果我在while循环中粘贴图像select,它将只显示数据库的一行

这是第一个选择:

$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();
?>

正如@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();