【问题标题】:finding birthday and store the object into session查找生日并将对象存储到会话中
【发布时间】:2015-06-18 09:12:17
【问题描述】:

大家好,我正在尝试查找网站上注册会员的最近生日,并将查询结果存储到会话中,以便下次不需要执行查询,以减少页面加载时间和服务器加载

我有这个代码

   if(!isset($_SESSION['dob']) || $_SESSION['dob'] =='' ){
   $frndlist=$_SESSION['friendlist']; //comma seperated list of friends
   $CurrMOnth= date('m'); // this month
   $BirthDLAST0n=date('d', strtotime(' - 7 day')); 
   $BirthDGRATEn=date('d', strtotime(' + 7 day'));
   $GEttheBIrthdaYS=mysqli_query($connection,"select id,name,dob from members
   where (id IN ($frndlist)) and (MONTH(dob) = '$CurrMOnth') and 
   (DAY(dob) > '$BirthDLAST0n' and DAY(dob) < '$BirthDGRATEn' ) 
   order by dob desc limit 10");
   $_SESSION['dob']=$GEttheBIrthdaYS;}else{
   $GEttheBIrthdaYS=$_SESSION['dob'];
   }
   while($theBdaYSreYAr90=mysqli_fetch_array($GEttheBIrthdaYS)){ //print }

但这里的问题是查询的结果存储到会话中,但它永远不会被 mysqli_fetch_array 接受它说错误。 这是问题,因为我试图将对象存储到会话中 是否有任何替代方法可以将结果存储到某些东西中,以便不需要再次执行相同的查询......

而且生日脚本也不好,它没有显示出生日期在几个月的最后或开始的人的生日。

请告诉我如何将查询结果存储到会话或 cookie 中 由于 cookie 存储的尺寸非常小,我不认为 cookie 是一个好的选择。

【问题讨论】:

    标签: php session cookies mysqli


    【解决方案1】:

    看起来您正试图将整个数组放入会话变量中,只需将其分解即可。 $result = mysql_fetch_array($GettheBIrthdayS); $_SESSION['dob'] = $result['dob'];

    也将你的限制设为 1,除非你想要超过 1 条记录,如果你这样做了,那么你将需要更改所有内容。

    【讨论】:

    • 我想要超过 1 条记录...至少 10 条
    • 然后循环遍历每个变量,将其保存到数组 (array_push) 中,然后将该变量保存到会话中 :)
    猜你喜欢
    • 2013-12-06
    • 1970-01-01
    • 2023-03-09
    • 2021-05-28
    • 2021-10-06
    • 2017-08-25
    • 1970-01-01
    • 2011-07-31
    相关资源
    最近更新 更多