【问题标题】:PHP Querying Session_ID Inside a DatabasePHP在数据库中查询Session_ID
【发布时间】:2012-02-14 15:28:25
【问题描述】:

我一直在尝试在我的网站上查找会话 ID,以便我可以使用它来查询我的 MySQL 数据库,但我不断收到错误“未定义变量:_SESSION in...”

这是我的代码:

if (mysql_num_rows(mysql_query("SELECT * FROM users WHERE _id = " . $_SESSION['_id_of_user'])))

这里是我定义会话 ID 的地方:

$qry = "Select name, email, username, _id from $this->tablename where username='$username' and password='$pwdmd5' and confirmcode='y'";

$result = mysql_query($qry,$this->connection);

if(!$result || mysql_num_rows($result) <= 0)
{
    $this->HandleError("Error logging in. The username or password does not match");
    return false;
}

$row = mysql_fetch_assoc($result);

$_SESSION['name_of_user']     = $row['name'];
$_SESSION['email_of_user']    = $row['email'];
$_SESSION['username_of_user'] = $row['username'];
$_SESSION['_id_of_user']      = $row['_id'];

【问题讨论】:

    标签: php mysql session session-variables


    【解决方案1】:

    您必须在 sql 查询之前启动会话: http://us.php.net/manual/en/function.session-start.php

    session_start();
    

    然后你应该得到当前会话ID: http://us.php.net/manual/en/function.session-id.php

    $current_session_id = session_id();
    

    【讨论】:

    【解决方案2】:

    在尝试写信之前,你会先写一个session_start() 吗? 也试试放

    var_dump("<PRE>", $_SESSION);
    

    在您尝试从中读取以查看其中实际内容之前。 所以你会:

    session_start();
    $_SESSION['name_of_user']     = $row['name'];
    $_SESSION['email_of_user']    = $row['email'];
    $_SESSION['username_of_user'] = $row['username'];
    $_SESSION['_id_of_user']      = $row['_id'];
    

    和:

    var_dump("<PRE>", $_SESSION);
    $qry = "Select name, email, username, _id from $this->tablename where username='$username' and password='$pwdmd5' and confirmcode='y'";
    

    我也想知道你是否可以使用 $this->tablename 来做到这一点:

    $qry = "Select name, email, username, _id from $this->tablename where username='$username' and password='$pwdmd5' and confirmcode='y'";
    

    试试:

     $qry = "Select name, email, username, _id from ".$this->tablename." where username='$username' and password='$pwdmd5' and confirmcode='y'";
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-05
      • 2017-08-01
      • 1970-01-01
      • 2014-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-10
      相关资源
      最近更新 更多