base 64解码并从中获取数据

时间:2016-04-26 09:54:38

标签: php mysql base64

我知道它不是保存数据的最佳方式,但数据库是给我的,我不能再改变了,但我需要从base64序列化的列overigedata中获取数据。到目前为止,我想出了这个,但它没有像这样工作。

$result20 = $dbhandle->query("SELECT base64_decode(overigedata) FROM email WHERE 'date' BETWEEN DATE(NOW()) AND  DATE(NOW() + INTERVAL 1 DAY) ");
$row_cnt20 = $result20->num_rows;

其中一行的解码输出为:

a:3:{s:15:"HTTP_USER_AGENT";s:108:"Mozilla/5.0 (Windows NT 6.1; WOW64) 
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.87
Safari/537.36";s:11:"REMOTE_ADDR";s:11:"80.00.00.00";s:4:"DATE";
s:19:"25-04-2016 15:09:35";}

我想解码它并计算日期为今天/一天的行。

1 个答案:

答案 0 :(得分:0)

数据存储为序列化格式。

 $var ='a:3:{s:15:"HTTP_USER_AGENT";s:108:"Mozilla/5.0 (Windows NT 6.1; WOW64) 
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.87
Safari/537.36";s:11:"REMOTE_ADDR";s:11:"80.00.00.00";s:4:"DATE";
s:19:"25-04-2016 15:09:35";}';

$data = unserialize($var);

它将以array()格式返回数据。 在我看来,您的数据存在一些问题。它没有正确序列化。