Php 正在将数组保存到db,但已序列化为字符串
我正在将一个数组保存到数据库中,但是当我保存数组时,数组从开始到结束都会被引用 e、 g 保存时不应在数组的开始和结束处引用该数组,但这种情况正在发生。当我在shipping字段中检查我的模型时,它是一个数组,我试图对其进行修剪,但它说不能,因为它说它是一个数组,所以问题是当它被保存到该字段的db中时 数组在保存时应该是这样的Php 正在将数组保存到db,但已序列化为字符串,php,mysql,laravel,Php,Mysql,Laravel,我正在将一个数组保存到数据库中,但是当我保存数组时,数组从开始到结束都会被引用 e、 g 保存时不应在数组的开始和结束处引用该数组,但这种情况正在发生。当我在shipping字段中检查我的模型时,它是一个数组,我试图对其进行修剪,但它说不能,因为它说它是一个数组,所以问题是当它被保存到该字段的db中时 数组在保存时应该是这样的 [{"id":"1","country":"New Zealand","shipping_rate":"1"},{"id":"2","country":"Australi
[{"id":"1","country":"New Zealand","shipping_rate":"1"},{"id":"2","country":"Australia","shipping_rate":"2"}]
mysql不保存数组,它保存字符串。保存数组时,按设计将数组序列化为字符串 如果您使用的是MySql 5.7.8或更高版本,则可以使用JSON数据类型
mysql不保存数组,它保存字符串。保存数组时,按设计将数组序列化为字符串 如果您使用的是MySql 5.7.8或更高版本,则可以使用JSON数据类型
您不能直接在mysql中保存数组,它会引发异常,您应该将其转换为字符串
(使用json_encode())
并将其保存在mysql中的varachar/text type字段中。
同样,当您从db获取数据时,将其转换为数组
(使用json_decode())
,然后使用它 您不能直接在mysql中保存数组,它将引发异常,您应该将其转换为字符串(使用json_encode())
,并将其保存在mysql中的varachar/text type字段中。
同样,当您从db获取数据时,将其转换为数组
(使用json_decode())
,然后使用它 u必须将json字符串转换为数组:
<?php
$json_string= '[{"id":"1","country":"New Zealand","shipping_rate":"1"},{"id":"2","country":"Australia","shipping_rate":"2"}]';
$array = json_decode($json_string,true);
?>
然后使用foreach进行循环,并在foreach中输入查询:
<?php
foreach($array as $data){
$id = $data['id'];
$country = $data['country'];
$save= mysql_query("insert into your_database values("$id", "$country")";
}
?>
u必须将json字符串转换为数组:
<?php
$json_string= '[{"id":"1","country":"New Zealand","shipping_rate":"1"},{"id":"2","country":"Australia","shipping_rate":"2"}]';
$array = json_decode($json_string,true);
?>
然后使用foreach进行循环,并在foreach中输入查询:
<?php
foreach($array as $data){
$id = $data['id'];
$country = $data['country'];
$save= mysql_query("insert into your_database values("$id", "$country")";
}
?>