Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从MySQL中取消序列化一个值,并使用PHP/CodeIgniter在变量中赋值?_Php_Mysql_Codeigniter - Fatal编程技术网

如何从MySQL中取消序列化一个值,并使用PHP/CodeIgniter在变量中赋值?

如何从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

大家好,我只是需要一些关于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
                           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']);
}
然后您将得到一个多维数组。现在,您将得到一个序列化值数组