我正在 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