2015-09-06 54 views
2

有沒有什麼方法可以將mysql stdClass對象保存在mysql表字段中帶有更改對象?在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和後來retrive它... 任何一個能幫助我嗎? 感謝

+0

你想保存什麼? – aldrin27

+0

你可以json_encode並保存它。 –

回答

2

你應該嘗試serialize()你的對象保存到數據庫之前和unserialize()它,當你返回查詢結果。

根據您的類用於實例化對象的複雜程度,您可能需要在類上實現Serializable接口。

雖然,這可能不是一個好的做法,將整個對象存儲在數據庫中。

+0

謝謝,我的問題解決了您的解決方案... – Gandom

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)根據對象的長度設置列的大小。