我正在尝试在页面上创建个人资料图像上传系统,但遇到了挑战,图片回显四次,默认图片在页面上显示四次,当我上传图片时,相同。我需要有关如何解决此问题的帮助,我只需要在页面上显示一张图片即可。
<?php
require("./includes/databaseHandler.php");
$id = $usersData['id'];
$sql = "SELECT * FROM users";
$result = mysqli_query($con, $sql);
if(mysqli_num_rows($result) > 0 ){
while(mysqli_fetch_assoc($result)){
$sqlImg = "SELECT * FROM profileimg WHERE userid = '$id'";
$resultImg = mysqli_query($con, $sqlImg);
while($rowImg = mysqli_fetch_assoc($resultImg)){
echo "<div class='user-container'>";
if($rowImg['status'] == 0){
echo "<img src = 'uploads/profile".$id.".jpg' >";
}else{
echo "<img src = 'uploads/profiledefault.jpg'>";
}
echo "</div>";
}
}
}
?>
答案 0 :(得分:3)
您没有将第一个查询的结果提取到可用变量中,因此您没有为第一个查询返回的每个用户设置}
注意:您的脚本对SQL Injection Attack开放。 甚至if you are escaping inputs, its not safe! 您应该考虑在
$id
或MYSQLI_
API中使用prepared parameterized statements而不是串联值
因此,我在回答中也使用了准备好的参数化语句。
PDO