如何从MySQL中取消序列化一个值,并使用PHP/CodeIgniter在变量中赋值?
大家好,我只是需要一些关于MySQL值非序列化的帮助。我想要的是从数据库中获取序列化值后,我将在变量中分配未序列化的值 这是我的密码如何从MySQL中取消序列化一个值,并使用PHP/CodeIgniter在变量中赋值?,php,mysql,codeigniter,Php,Mysql,Codeigniter,大家好,我只是需要一些关于MySQL值非序列化的帮助。我想要的是从数据库中获取序列化值后,我将在变量中分配未序列化的值 这是我的密码 //THIS IS THE QUERY $sqlGetSerializedValues = "SELECT cscart_order_data.order_id AS order_id, cscart_order_data.data as data_serialize FROM cscart_orders L
//THIS IS THE QUERY
$sqlGetSerializedValues = "SELECT cscart_order_data.order_id AS order_id, cscart_order_data.data as data_serialize FROM cscart_orders
LEFT JOIN cscart_order_data
ON cscart_orders.order_id = cscart_order_data.order_id
WHERE type = 'I'";
$resultGetSerialize = $this->db->query($sqlGetSerializedValues);
$var_data = array();
foreach($resultGetSerialize->result_array() as $row1){
$var_data[] = $row1['data_serialize'];
}
unserialize($var_data); //How can i get the selected value
print_r($var_data);
OUTPUT:
Array
(
[0] => a:2:{s:6:"points";i:100;s:4:"cost";i:100;}
[1] => a:2:{s:6:"points";i:100;s:4:"cost";i:100;}
[2] => a:2:{s:6:"points";i:294;s:4:"cost";i:294;}
[3] => a:2:{s:6:"points";d:107;s:4:"cost";d:107;}
[4] => a:2:{s:6:"points";i:163;s:4:"cost";i:163;}
[5] => a:2:{s:6:"points";i:322;s:4:"cost";i:322;}
[6] => a:2:{s:6:"points";i:289;s:4:"cost";i:289;}
[7] => a:2:{s:6:"points";i:9;s:4:"cost";i:9;}
[8] => a:2:{s:6:"points";i:500;s:4:"cost";i:500;}
[9] => a:2:{s:6:"points";i:500;s:4:"cost";i:500;}
[10] => a:2:{s:6:"points";i:301;s:4:"cost";i:301;}
[11] => a:2:{s:6:"points";i:500;s:4:"cost";i:500;}
[12] => a:2:{s:6:"points";i:490;s:4:"cost";i:490;}
[13] => a:2:{s:6:"points";i:103;s:4:"cost";i:103;}
例如,我想获得“点”并在变量$points中赋值。
我该怎么做?这也是成本。好的,那就提前谢谢了。据我所知,提取这些值(由PHP而不是MYSQL生成)的唯一方法是在循环中使用PHP的
unserialize()
function您想在其中调用unserialize
函数:
foreach($resultGetSerialize->result_array() as $row1){
$var_data[] = unserialize($row1['data_serialize']);
}
然后您将得到一个多维数组。现在,您将得到一个序列化值数组