如何在MySQL表中存储php对象?

时间:2011-02-20 00:32:45

标签: mysql object php

我已经设置了一个只有一个字段用于BLOB(二进制大对象)的表,但是当我尝试将其插入表中时,它会抛出一个错误,指出它无法将对象转换为字符串。这是我的查询:

mysql_query("INSERT INTO objects (inquery) VALUES($inquery)");

2 个答案:

答案 0 :(得分:20)

Serialize它:

$str = serialize($object);

如果您的对象包含私有/受保护字段,那么base64_encode()序列化对象也是一个好主意,因为这些属性将导致使用ascii-1字符,这会在手动编辑列时中断。用phpMyAdmin ..

要恢复您的对象,只需unserialize()字符串(如果需要,可以base64_decode()之前)。

答案 1 :(得分:1)

使用json_encode对对象进行编码,然后将其保存在Mysql中,然后使用json_decode对对象进行解码