Search code examples
phpmysqljsoncodeignitercodeigniter-3

Storing array as json in database using codeigniter php not working


i am trying to store an array as json in database using codeigniter website like below:

$this->db->insert('orders', 
                array('orderstatus' => $orderstatus,  
                      'productname' => json_encode($product1)
                    )
    );

the array has values like below:

Array
(
    [0] => Array
        (
            [id] => 8
            [productname] => Couple Combo Sherwani
            [pimage] => _RJ_0149-min.jpg,_RJ_0342-min.jpg,_RJ_0115-min.jpg
            [jrp] => 6000
            [deposit] => 6000
            [size] => XL
            [duration] => 3
            [quantity] => 1
        )

)

the database looks like:

enter image description here enter image description here however in database the value is stored as below:

"Array"

can anyone please tell me what is wrong in here, thanks in advance


Solution

  • For me it works:

    $products = [
        (object)[
            "name" => "Test product",
            "attribute1" => "Value1"
        ]
    ];
    
    $this->db->table("orders")->insert([
        "name" => "Order for client",
        "info" => "Client want this order today",
        "products" => json_encode($products)
    ]); //In products column i have [{"name":"Test product","attribute1":"Value1"}]