PHP查询的Session_ID在数据库中
问题描述:
我一直在试图找到我的网站上的会话ID,所以我可以用它来查询我的MySQL数据库,但我不断收到错误“未定义的变量:在_SESSION ......”PHP查询的Session_ID在数据库中
这里是我的代码:
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'];
答
您必须登录你的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();
答
你试图写它之前做session_start()
? 也可以尝试把
var_dump("<PRE>", $_SESSION);
你attemptd从中读取看到这里居然什么了。 所以你会:
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'";
此外,我想知道,如果你能做到这一点用$这个 - >表名:
$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'";
然后,如果你想使用一个数据库来存储会话,阅读这里给出的示例/类:http://us.php.net/manual/en/function.session-set-save-handler.php – djot 2012-02-14 15:38:10