【发布时间】:2011-06-30 13:58:01
【问题描述】:
我已经设置了一个表,其中只有一个字段用于 BLOB(二进制大对象),但是当我尝试将其插入表中时,它会抛出一个错误,指出它无法将对象转换为字符串。这是我的查询:
mysql_query("INSERT INTO objects (inquery) VALUES($inquery)");
【问题讨论】:
我已经设置了一个表,其中只有一个字段用于 BLOB(二进制大对象),但是当我尝试将其插入表中时,它会抛出一个错误,指出它无法将对象转换为字符串。这是我的查询:
mysql_query("INSERT INTO objects (inquery) VALUES($inquery)");
【问题讨论】:
$str = serialize($object);
如果您的对象包含私有/受保护字段,那么base64_encode() 序列化对象也是一个好主意,因为这些属性将导致使用 ascii-1 字符,这会在手动编辑列时中断,例如使用 phpMyAdmin..
要恢复您的对象,您只需 unserialize() 字符串(如果需要,请在前面加上 base64_decode())。
【讨论】:
$object = unserialize($str);
使用 json_encode 对对象进行编码,然后将其保存在 Mysql 中,然后使用 json_decode 对对象进行解码
【讨论】: