好的,我已登录为" Admin",管理员有信息 - money,xp。 我有代码:
$query = dbConnect()->prepare("SELECT * FROM players");
$query->execute();
foreach ($query->fetchAll(PDO::FETCH_ASSOC) as $row) {
echo 'Name: '. $row['Name'] . '<br>Money: '.$row['Money'] . '<br>XP: '.$row['XP'];
}
我在mysql中有2个用户。登录人员如何收到该信息?
答案 0 :(得分:3)
将登录的用户ID保存在普通变量或SESSION变量中,并在where子句
中使用它//so first we save the logged-in user id when the user logs in
$_SESSION['UserID'] = //loggedin user id;
//we then use the user id we save in a where clause to get that specific user
$query = dbConnect()->prepare('SELECT * FROM players WHERE playerID = "'.$_SESSION['UserID'].'"');
$query->execute();
foreach ($query->fetchAll(PDO::FETCH_ASSOC) as $row) {
echo 'Name: '. $row['Name'] . '<br>Money: '.$row['Money'] . '<br>XP: '.$row['XP'];
}
答案 1 :(得分:2)
您可以使用用户ID [{1}}
设置会话变量然后你可以像这样构建你的SQL语句:
$_SESSION['id'] = 'user1'
答案 2 :(得分:2)
只需使用当前登录的用户选择特定行(用户凭据)。
假设您正在使用会话:
session_start();
$username = $_SESSION['username'];
$connection = dbConnect();
$query = $connection->prepare('SELECT * FROM players WHERE username = ?');
$query->execute(array($username));
$result = $query->fetch(PDO::FETCH_ASSOC);
if(!empty($result)) {
// echo credentials
// echo $result['Money']; // etc
}
或->bindValue
与您的命名占位符:
session_start();
$username = $_SESSION['username'];
$connection = dbConnect();
$query = $connection->prepare('SELECT * FROM players WHERE username = :username');
$query->bindValue(':username', $username);
$query->execute();
$result = $query->fetch(PDO::FETCH_ASSOC);
if(!empty($result)) {
// echo credentials
// echo $result['username']; // etc
}
答案 3 :(得分:1)
使用bindValue()
将:sessionID
的值绑定到$_SESSION['UserID']
的值,或者存储您的UserID。它可以使您的查询更容易创建,并且您可以使用while循环遍历查询中的所有结果。
$DBO = dbConnect();
$query = $DBO->prepare("SELECT * FROM players WHERE playerID=:sessionID");
$query->bindValue(':sessionID', $_SESSION['UserID'], PDO::PARAM_STR);
$query->execute();
$query->setFetchMode(PDO::FETCH_ASSOC);
while ($row = $query->fetch()) {
//$results[] = $row;
echo 'Name: ' . $row['Name'] . '<br>Money: '. $row['Money'] . '<br>XP: ' . $row['XP'];
}