为了账号安全,请及时绑定邮箱和手机立即绑定

如何让我的代码只回显一次而不是两次?

如何让我的代码只回显一次而不是两次?

PHP
慕工程0101907 2021-11-05 16:22:18
一旦满足要求,我的代码回显Hey或Hello两次。这应该检查一个人是否有上传的东西,这取决于他们是否有或没有消息显示。$sql = "SELECT * FROM users";$result = mysqli_query($conn, $sql);if (mysqli_num_rows($result) > 0) {    while ($row = mysqli_fetch_assoc($result)) {        $sqlImg = "SELECT * FROM users WHERE idUsers='$current'";        $resultImg = mysqli_query($conn, $sqlImg);        while ($rowImg = mysqli_fetch_assoc($resultImg)) {            if ($rowImg['profile_img'] == 0) {                echo "hey";            } else {                echo "Hello";            }        }    }}我希望输出回显一次,但实际输出回显两次。
查看完整描述

1 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

你不需要两个循环。外循环为表中的每个用户运行,无论他们是否匹配$current。对于他们中的每一个,您正在执行另一个查询,该查询只是获取$current用户并回显他们的状态。


如果idUsers是唯一键,您甚至不需要任何循环。只需执行一个查询并获取该行。


您还应该使用准备好的语句来防止 SQL 注入。


$stmt = $conn->prepare("SELECT profile_img FROM users WHERE idUsers = ?");

$stmt->bind_param("s", $current);

$stmt->execute();

$result = $stmt->get_result();

$rowImg = $result->fetch_assoc();

if ($rowImg['profile_img'] == 0) {

    echo "hey";

} else {

    echo "Hello";

}


查看完整回答
反对 回复 2021-11-05
  • 1 回答
  • 0 关注
  • 129 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信