【发布时间】:2009-11-30 02:00:16
【问题描述】:
我正在使用 PHP/MySQL。
我的数据库中有一个名为 hourly 的表,在该表中它们是一个名为 webaddress 的列,它们是序列化的。每列网址有多行,每行都是序列化的。
我需要拉出每一行,将它们解开,然后将它们放入一个数组中。
我尝试使用这段代码,但由于 PHP 函数的限制,它只抓取了 1 行。
while ($row = mysql_fetch_array($results)) {$test = unserialize($row[0]);}
我在想这样的事情可能会奏效:
while(($row = mysql_fetch_array($results)) !== FALSE) {$test[] = $row;}
那没用……
如何获取每一行,然后取消序列化,然后将其添加到数组中?我只需要 web_addresses 字段中的数据,目前有 3 行数据。因此,每个 web_addresses 字段中都会有 3 个序列化数组,我需要将它们反序列化并组合成另一个数组。希望这更有意义。
这是 MySQL 表:
CREATE TABLE `hourly` (
`timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
`id` bigint(20) NOT NULL auto_increment,
`month` longtext NOT NULL,
`day` longtext NOT NULL,
`year` longtext NOT NULL,
`source` longtext NOT NULL,
`web_address` longtext NOT NULL,
`at_replies` longtext NOT NULL,
`words` longtext NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1
【问题讨论】:
标签: php mysql serialization