PHP Mysqli从表中获取

时间:2016-02-08 01:22:26

标签: php mysqli

我目前正在我的网站上使用用户系统,我有一个表设置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>";
    }

3 个答案:

答案 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'];