php session[]能否存数组

我用session[result]存从database取出的表,结果再次进入此php时不能读取,是什么原因??... 我用session[result]存从database取出的表,结果再次进入此php时不能读取,是什么原因?? 展开
 我来答
ys5955092
推荐于2017-09-11 · TA获得超过671个赞
知道小有建树答主
回答量:551
采纳率:100%
帮助的人:572万
展开全部
session是可以存储数组和对象的,但是不可用存储souce
只能这样做。
mysql_select_db("test",$con);
$result=mysql_query("select * from user ");

$_SESSION["result"]=$result;
$arr= array();
while($row = mysql_fetch_row($result))
{
$arr[] =$row;

}
$_SESSION["rows"]=$arr;
以下来自php5手册
Warning
有些类型的数据不能被序列化因此也就不能保存在会话中。包括 resource 变量或者有循环引用的对象(即某对象将一个指向自己的引用传递给另一个对象)。
uchiha_obito
2009-12-04 · 超过50用户采纳过TA的回答
知道小有建树答主
回答量:108
采纳率:0%
帮助的人:140万
展开全部
如果想利用cookie来存数组(session应该也是一样的),最好将数组进行序列化(serialization),意思就是将数组或是类转换成一个长字符串,到用时在反序列化就可以了哦,这种方法广泛应用于购物车系统等等。
具体到php的函数就是
serialize()/*序列化*/
unserialize()/*反序列化*/
另外还有json技术,是用来让php与前台的javascript进行数组通信用的一个标准,当然核心也是序列化:
json_encode(),json_decode()
经其序列化的数组通过AJAX传到javascript前台,可直接将该序列化的数组赋给一个变量,该变量即可作为像php中的数组来使用了。

参考资料: http://php.net/manual/en/book.json.php

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a435633
2009-12-04 · TA获得超过1234个赞
知道大有可为答主
回答量:1018
采纳率:0%
帮助的人:0
展开全部
php的session可以存储数组。
问题可能是你的session没有被保存。
先看看用session保存简单的字符或数字能不能读取。

还有一种可能就是你保存和读取的键值不一致。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
林轻灵
2009-12-03 · TA获得超过4540个赞
知道大有可为答主
回答量:2448
采纳率:0%
帮助的人:2099万
展开全部
可以存数组的...
$a=array("a","b");
$_SESSION["a"]=$a;
print_r($_SESSION["a"]);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
phnessu4
2009-12-15
知道答主
回答量:17
采纳率:0%
帮助的人:11万
展开全部
session 数据跟浏览器的进程有关
lz可以输出print_r($_SESSION); 调试一下

更多关于session的数据可以参考这篇文章

php session 的分析
http://www.stylejar.com/2009/05/php-cookie%E5%92%8Csession%E7%9A%84%E5%88%86%E6%9E%90-2/

参考资料: http://www.stylejar.com/2009/05/php-cookie%E5%92%8Csession%E7%9A%84%E5%88%86%E6%9E%90-2/

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式