我在登陆的时候将用户名存入了session
session_regenerate_id();
$member = mysql_fetch_assoc($result);
$_SESSION['SESS_MEMBER'] = $login;
之后在其它页面使用echo $_SESSION['SESS_MEMBER']可以在浏览器中显示这个用户名;但是使用这个$_SESSION['SESS_MEMBER']作为变量在数据库语言中进行查询就无法获得改变量,这是为什么呢??举个例子$user = trim($_SESSION['SESS_MEMBER']);
echo $user; //这里在页面中可以显示出来
$rows = F1::getAll($user);//但是user数据没有成功作为getAll方法的变量
顺便给出getAll($user)的部分代码:
public static function getAll( $user )
{
$db = DatabaseConnection::get()->handle();
$res = $db->query( "SELECT * FROM rs where user = ?",array( $user ) );
$rows = array();
……
session_regenerate_id();
$member = mysql_fetch_assoc($result);
$_SESSION['SESS_MEMBER'] = $login;
之后在其它页面使用echo $_SESSION['SESS_MEMBER']可以在浏览器中显示这个用户名;但是使用这个$_SESSION['SESS_MEMBER']作为变量在数据库语言中进行查询就无法获得改变量,这是为什么呢??举个例子$user = trim($_SESSION['SESS_MEMBER']);
echo $user; //这里在页面中可以显示出来
$rows = F1::getAll($user);//但是user数据没有成功作为getAll方法的变量
顺便给出getAll($user)的部分代码:
public static function getAll( $user )
{
$db = DatabaseConnection::get()->handle();
$res = $db->query( "SELECT * FROM rs where user = ?",array( $user ) );
$rows = array();
……
echo $user;
$rows = F1::getAll($user)
public static function getAll( $user )
{
$db = DatabaseConnection::get()->handle();
$res = $db->query( "SELECT * FROM rss_feeds where user = ?",array( $user ) );
$rows = array();
while( $res->fetchInto( $row, DB_FETCHMODE_ASSOC ) )
{
$rows []= $row;
}
return $rows;
}这是查询语句,在用session作为变量之前一直都好用的
"SELECT * FROM rss_feeds where user = ?",array( $user )
看这里最终结果是什么,
会不会是 where `user` = ? //user好像是关键字
又或者是不是 where user = '?' 这里的引号问题???
再用$user试下。
我已经用了$user = trim($_SESSION['SESS_MEMBER']);应该不会缺少空字符现象吧。