我目前正在我的网站上使用用户系统,我有一个表设置users
供用户注册,我想从表中检索特定用户的信息。
users
是一个包含5列用户名,密码,电子邮件,级别,黄金
我有一个$ _SESSION ['username']等于登录的用户名,我想从users
获取他们的等级和金币,并将它们设置为$ userLevel和$ userGold。我怎么能这样做?
修改
以下代码获取了我想要特定用户信息的所有用户信息
$sql="SELECT username, level, gold FROM users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "Username: " . $row["username"]. " - Level: " . $row["level"]. " - Gold: " . $row["gold"]. "<br>";
}
答案 0 :(得分:2)
您需要阻止MySQL注入:
$username = mysqli_real_escape_string($conn, $_SESSION['username']);
选择行的代码,WHERE用户名将等于登录的用户
$sql = "SELECT username, level, gold FROM users WHERE `username` = '$username';
要回显,您可以使用现有代码
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "Username: " . $row["username"] . " - Level: " . $row["level"] . " - Gold: " . $row["gold"]. "<br>";
}
更新以反映MySQLi,而不是MySQL和MySQL代码,以使其更清晰。 感谢@ Fred-ii-指出。
答案 1 :(得分:0)
使用类似:
$data=mysqli_fetch_assoc(mysqli_query("select level, gold from users where username={pass_username_variable_here}"));
回声水平:
echo $data['level'];
答案 2 :(得分:-1)
$sql="SELECT username, level, gold FROM users Where username ==".$_SESSION['username'];