一旦满足要求,我的代码回显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";
}
- 1 回答
- 0 关注
- 129 浏览
添加回答
举报
0/150
提交
取消