有没有办法在没有更改对象的mysql表字段中保存php stdClass对象?
这是我的目标:
stdClass Object
(
[product] => stdClass Object
(
[id] => 413860
[name] => SB25
[description] => Array
(
[0] => AMD Athlon 64 3700+
[1] => 2x RAM 1024 MB DDR
[2] => 2x HDD 320 GB SATA
[3] => RAID Controller 2-Port SATA PCI - 3ware 8006-2LP
)
[traffic] => 20 TB
[dist] => Array
(
[0] => Rescue system
)
[arch] => Array
(
[0] => 64
)
[lang] => Array
(
[0] => en
)
[cpu] => AMD Athlon 64 3700+
[cpu_benchmark] => 568
[memory_size] => 2
[hdd_size] => 320
[hdd_count] => 2
[datacenter] => 1
[price] => 21.01
[price_setup] => 0.00
[price_vat] => 21.01
[price_setup_vat] => 0.00
[fixed_price] => 1
[next_reduce] => 0
)
)
我想在mysql中保存这个对象,稍后再检索它... 谁能帮我? 感谢
答案 0 :(得分:2)
在将对象保存到数据库之前,您应该尝试 serialize() ,并在返回查询结果时 unserialize() 。
根据您用来实例化对象的类的复杂程度,您可能需要在类上实现Serializable接口。
尽管如此,将整个对象存储在数据库中可能不是一个好习惯。
答案 1 :(得分:1)
按照此测试代码进行..
$obj = your object;
$link= mysqli_connect("localhost","root","","book_data");
$query= "insert into tbbook (Booktitle ) values('$obj') where ID=1";
mysqli_query($link, $query) or die(mysqli_error($link));
此代码运行良好。
1)您的数据类型应为varchar。 2)根据物体的长度设定柱的大小。