You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PHP/HTML/MySQL构建私有用户列表遇技术问题求助

批量展示用户列表的解决方法

1. 调整SQL查询逻辑

把原来仅查询当前登录用户的SQL语句,改成查询所有用户的语句(如果需要按ID排序可以加上排序规则):

// 假设用户表名为users,按需替换成你的表名
$sql = "SELECT id, name, discord_id, steam_id, email FROM users ORDER BY id ASC";

2. 循环遍历查询结果生成容器

通过PHP循环遍历数据库返回的所有用户数据,每遍历一条就输出一个<div class="home-barra">容器,同时把用户ID放在data-*属性里隐藏:

PDO版本(推荐,更安全)

// 先确保已建立PDO数据库连接
$host = 'localhost';
$dbname = '你的数据库名';
$username = '数据库用户名';
$password = '数据库密码';

try {
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8mb4", $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // 执行查询
    $stmt = $pdo->prepare($sql);
    $stmt->execute();
    $users = $stmt->fetchAll(PDO::FETCH_ASSOC);

    // 循环输出每个用户的容器
    foreach ($users as $user) {
        // 转义内容防止XSS攻击
        $name = htmlspecialchars($user['name']);
        $discordId = htmlspecialchars($user['discord_id']);
        $steamId = htmlspecialchars($user['steam_id']);
        $email = htmlspecialchars($user['email']);
        
        echo '<div class="home-barra" data-user-id="' . htmlspecialchars($user['id']) . '">';
        echo '<p>姓名: ' . $name . '</p>';
        echo '<p>DiscordID: ' . $discordId . '</p>';
        echo '<p>SteamID: ' . $steamId . '</p>';
        echo '<p>Email: ' . $email . '</p>';
        echo '</div>';
    }
} catch(PDOException $e) {
    echo "查询出错: " . $e->getMessage();
}

MySQLi版本

如果习惯用MySQLi,也可以这么写:

$host = 'localhost';
$dbname = '你的数据库名';
$username = '数据库用户名';
$password = '数据库密码';

$conn = mysqli_connect($host, $username, $password, $dbname);
if (!$conn) {
    die("数据库连接失败: " . mysqli_connect_error());
}

$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
    while($user = mysqli_fetch_assoc($result)) {
        $name = htmlspecialchars($user['name']);
        $discordId = htmlspecialchars($user['discord_id']);
        $steamId = htmlspecialchars($user['steam_id']);
        $email = htmlspecialchars($user['email']);
        
        echo '<div class="home-barra" data-user-id="' . htmlspecialchars($user['id']) . '">';
        echo '<p>姓名: ' . $name . '</p>';
        echo '<p>DiscordID: ' . $discordId . '</p>';
        echo '<p>SteamID: ' . $steamId . '</p>';
        echo '<p>Email: ' . $email . '</p>';
        echo '</div>';
    }
} else {
    echo "暂无用户数据";
}

mysqli_close($conn);

3. 关键注意点

  • 安全防护:必须用预处理语句(PDO示例已实现)避免SQL注入;输出用户数据时用htmlspecialchars()转义,防止XSS攻击。
  • 权限控制:因为是私有网页,要在页面开头加登录验证逻辑,比如检查session是否存在合法用户信息,防止未授权访问。

内容的提问来源于stack exchange,提问作者Gary0097

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 21:15:28