将一些数据反序列化为数组

unserialize some data into an array

我遇到了一个问题,涉及从存储在 table 中的序列化数据中获取一些数据并将其用于排队另一个 table。我的方法如下,但我对编程很陌生,它不起作用

table wppg_album
id - name -   gallery_list
1 - album1 -  a:1:{i:0;s:1:"1";i:1;s:1:"8"}
2 - album2 -  a:2:{i:0;s:2:"17";i:1;s:2:"19";i:2;s:2:"18";}
3 - album3 -  a:3:{i:0;s:2:"13";}

我无法获取 SQL 字符串并反序列化单元格 gallery_list 中选定 ID 的数据。

现在要处理的专辑已经确定,请告诉 #2 我必须 array(17,18,19) 才能最终从画廊 table 获得结果。

我写了这段代码,但是无法获取串行数据

<?php 
    $sql = "SELECT * FROM ".WPPG_TBL_ALBUM." WHERE id = 2";
    $result = mysql_query($sql);
    $stringGalleries = mysql_fetch_object($result);
    $galleries = unserialize($stringGalleries);
    $ids = join(',',$galleries); 
    $data = $wpdb->get_results("SELECT * FROM ".WPPG_TBL_GALLERY." WHERE id IN   ($ids)");
?>

任何帮助将不胜感激。

你打错了,$ 和 ;失踪

$galleries = unserialize($stringGalleries);

而且您使用 mysql_fetch_object 的方式不对...这是正确的代码

<?php 
    $sql = "SELECT * FROM ".WPPG_TBL_ALBUM." WHERE id = 2";
    $result = mysql_query($sql);
    while ($galleriesRow = mysql_fetch_object($result)) {
        $galleries = unserialize($galleriesRow->gallery_list);
        $ids = join(',',$galleries); 
        $data = $wpdb->get_results("SELECT * FROM ".WPPG_TBL_GALLERY." WHERE id IN (" . $ids. ")");
    }
?>