我在mysql中有数据,在那里它不需要任何安全性。
每次使用mysql_fetch_assoc,我都有一个sql查询字符串来获取数据。
因此,我计划将数据存储在用户中,browser.To将查询的no降为sql。
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
请帮帮我,我该怎么走?
发布于 2013-11-02 04:05:37
不能序列化结果资源,需要首先在其上使用mysql_fetch_assoc。在调用fetch方法之前,实际上还没有从mysql服务器中提取结果。
如下所示:
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']);
}发布于 2013-11-02 04:05:14
使用un序列化()代替$unserialize()
https://stackoverflow.com/questions/19738769
复制相似问题