我有一个数据库表,我已将图像名称与StudentId一起存储。我正在通过它的学生获取来自CURRENT学生的图像,就像Instagram主页一样,您可以看到所有上传的图像。我没有将图像存储到数据库中,而是将所有图像保存到名为“upload /”的目录中,只有图像的名称才会保存到数据库中。
我目前在我的数据库中有3个图像,具有相同的StudentId。但问题是有时候我只能从中获取一个图像或者没有图像。 我尝试了很多代码,但它仍然没有用。我不确定错误在哪里。它是在循环中还是我无法从数据库中获取所有图像。
<?php
session_start();
include 'common.php';
$id = $_SESSION['student'];
$command = "SELECT * FROM UsersImages WHERE StudentId = ".$id;
$stmt = $dbh->prepare($command);
$result = $stmt->execute();
?>
<html>
<head>
<meta charset="UTF-8">
<title>hello</title>
</head>
<body>
<nav>
<ul>
<li><a href="home.php">Home</a></li>
<li><a href="profile.php">Upload</a></li>
</ul>
</nav>
<div>
<?php
$row = $stmt->fetch();
$dir = $row['img_name'];
foreach($dir as $images){
echo "<img src=". $images." alt='images'>";
}
?>
</div>
</body>
</html>
答案 0 :(得分:1)
只需更新您的PHP代码,您只存储图像名称哪个错误的进程因此无法正常工作并使用 fetch_assoc()来处理您的数组数据
<?php
$row = $stmt->fetch();
$dir = $row['img_name']; // this is wrong process
foreach($dir as $images){
echo "<img src=". $images." alt='images'>";
}
?>
到
<?php
$results = $stmt->fetchAll(PDO::FETCH_ASSOC); // get all result using this
foreach ($results as $data)
{
$images = $data['img_name']; // get image then use it in your code
echo "<img src=". $images." alt='images'>";
}
?>
试试这个
$results = $stmt->fetch(PDO::FETCH_ASSOC); // get all result using this
$images = $results['img_name']; // get image then use it in your code
echo "<img src=". $images." alt='images'>";
有关使用循环选择数据的更多信息
答案 1 :(得分:1)
请找到完整的答案。
- 在获取数据时添加PDO :: FETCH_ASSOC
<?php
session_start();
include 'common.php';
$id = $_SESSION['student'];
$command = "SELECT * FROM UsersImages WHERE StudentId = ".$id;
$stmt = $dbh->prepare($command);
$result = $stmt->execute();
?>
<html>
<head>
<meta charset="UTF-8">
<title>hello</title>
</head>
<body>
<nav>
<ul>
<li><a href="home.php">Home</a></li>
<li><a href="profile.php">Upload</a></li>
</ul>
</nav>
<div>
<?php
$images = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach($images as $image){
echo "<img src=". $image['img_name']." alt='images'>";
}
?>
</div>
</body>
</html>
希望这有帮助!