我遇到了一个问题,涉及从存储在表中的序列化数据中获取一些数据并将其用于对另一个表进行排队。我的方法如下,但我对编程很陌生,它不起作用
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)
才能最终从 galleries 表中获取结果。
我写了这段代码,但是无法获取串行数据
<?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. ")");
}
?>
关于php - 将一些数据反序列化为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29956393/