我有一个朋友id的数组,我正试图将此列表存储在每个用户的数据库中。
$share_friend_id = ( serialize($share_id_array));
我的数据库如下所示:1510161011146851 John a:2:{i:0;s:8:"Kabo Lee";i:1;s:6:"Bo Lee";}a:2:{i:0,s:15:"601599471189716";i:1;s:16:"15327449…
第一列是用户id,然后是名称,然后是使用serialize函数从数组转换为字符串的朋友id的列表。
我正在尝试将这些数据放回php中。我有以下内容:
while ($row = $friendresult->fetch_assoc()) {
//for friend(s)
$id[] = $row['friend_id'];
$name = $row['friend_name'];
$friend_share_friend_id = ($row['share_friend_id']);
}
$data = array();
$data = ( unserialize($friend_share_friend_id));
print_r($data);
但我得到了错误:注意:unserialize():C:''examplep''htdocs''app''sql.php 中60字节的偏移61处出错
我不确定使用序列化函数是否是个好主意。有人有什么建议吗?
尝试下一个
<?php
$share_friend_id = ( serialize($share_id_array));
$share_friend_id_2 = unserialize($share_friend_id);
var_dump($share_friend_id_2);
?>
如果它工作时没有任何问题,这意味着DB中的字段没有足够的空间来存储所有数据字符串