尝试创建个人档案图像系统

时间:2019-11-27 15:05:03

标签: php mysqli

我正在尝试在页面上创建个人资料图像上传系统,但遇到了挑战,图片回显四次,默认图片在页面上显示四次,当我上传图片时,相同。我需要有关如何解决此问题的帮助,我只需要在页面上显示一张图片即可。

<?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>";
        }
    }
}

?>

1 个答案:

答案 0 :(得分:3)

您没有将第一个查询的结果提取到可用变量中,因此您没有为第一个查询返回的每个用户设置}

  

注意:您的脚本对SQL Injection Attack开放。   甚至if you are escaping inputs, its not safe!   您应该考虑在$idMYSQLI_ API中使用prepared parameterized statements而不是串联值

因此,我在回答中也使用了准备好的参数化语句。

PDO