首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用户浏览器中的mysql_fetch_assoc数据到COOKIE

问用户浏览器中的mysql_fetch_assoc数据到COOKIE
EN

Stack Overflow用户
提问于 2013-11-02 03:49:14
回答 2查看 81关注 0票数 0

我在mysql中有数据,在那里它不需要任何安全性。

每次使用mysql_fetch_assoc,我都有一个sql查询字符串来获取数据。

因此,我计划将数据存储在用户中,browser.To将查询的no降为sql。

代码语言:javascript
复制
    if (!isset($_COOKIE['countries'])){
    $query = "SELECT iso,name FROM sel_country";
    $countries = mysql_query($query);
    setcookie('countries', serialize($countries), time()+3600);
   }else{
    $countries = $unserialize($_COOKIE['countries']);
    }
while ($row = mysql_fetch_assoc($countries)) {echo $row['name']}

但是,当cookie被设置时,它将显示以下错误

致命错误:函数名必须是第15行/home/world/public_html/index/ctrl.php中的字符串

我的cookie在浏览器中显示内容为i%3A0%3B

请帮帮我,我该怎么走?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-02 04:05:37

不能序列化结果资源,需要首先在其上使用mysql_fetch_assoc。在调用fetch方法之前,实际上还没有从mysql服务器中提取结果。

如下所示:

代码语言:javascript
复制
if (!isset($_COOKIE['countries'])){
    $query = "SELECT iso,name FROM sel_country";
    $countries = mysql_query($query);
    $result = array();
    while ($row = mysql_fetch_assoc($countries)) {$result[] = $row['name']}
    setcookie('countries', json_encode($result), time()+3600);

    //And to make the rest of the script able to use it as below:
    $countries = $result;
} else {
    $countries = json_decode($_COOKIE['countries']);
}
票数 1
EN

Stack Overflow用户

发布于 2013-11-02 04:05:14

使用un序列化()代替$unserialize()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19738769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档