在Cookie中存储长数组

时间:2012-08-25 08:08:33

标签: php mysql sql arrays

我知道在php中存储数据的方法。 但是当我在PHP中存储长数组时,此方法不起作用。 该数组有大约3000个值(82382个字符)。

我这样做:

$encoded_db_data = base64_encode(serialize($query_result));
setcookie("db_select_result", '$encoded_db_data');

db_select_result 正在打印空白(无值)。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

  

用户代理可以完全忽略收到的cookie。对于           例如,用户代理可能希望阻止接收cookie           来自“第三方”回复或用户代理可能不希望           存储超过一定大小的cookie。

来自:http://www.faqs.org/rfcs/rfc6265.html

考虑下一个选项:

1.拆分数组的数据并将其放在多个cookie中。

2.使用sessions(与他们有“短命”的cookie不同)[http://www.php.net/manual/en/session.examples.basic.php]

3.将Database中的数据存储为“唯一键”,然后设置一个cookie 唯一键,以便您能够识别从数据库中提取哪些数据。

4.使用数组中较少的数据并尝试将其放入cookie中。