如何在使用codeigniter插入数据库之前将新值附加到序列化数据

如何在使用codeigniter插入数据库之前将新值附加到序列化数据,codeigniter,serialization,Codeigniter,Serialization,我在向数据库(mysql)插入新记录时遇到问题,因为我要插入的其他数据是序列化格式的,另一个是日期格式的。我不知道如何将日期时间值附加到序列化数据,以便可以立即将其插入数据库。下面的代码显示了向数据库中插入新数据的过程,但总是无法插入 function insert_item($data) { $data[] = array('date_time'=>date('Y-m-d H:i:s',now())); $this-

我在向数据库(mysql)插入新记录时遇到问题,因为我要插入的其他数据是序列化格式的,另一个是日期格式的。我不知道如何将日期时间值附加到序列化数据,以便可以立即将其插入数据库。下面的代码显示了向数据库中插入新数据的过程,但总是无法插入

    function insert_item($data)
        {
            $data[] = array('date_time'=>date('Y-m-d H:i:s',now()));
            $this->db->insert('tbl_item',$data);

            return true;

        }
上面的变量$data保存序列化数据。

尝试如下操作:

function insert_item($data)
{
    $data               = unserialize( $data );         #unserialize the data first.
    $data['date_time']  = date('Y-m-d H:i:s',now()));   #put the date in the array.
    $data               = serialize( $data );           #serialize again.
    $this->db->insert('tbl_item',$data);
    return true;
}

使用php函数
unserialize()
取消序列化数据,您将得到一个数组。在数组中添加新项并再次序列化。然后插入