我正在将一个数组保存到数组中,但是当我这样做时,数组会从头到尾获取引号
e.g
"[{"id":"1","country":"New Zealand","shipping_rate":"1"},{"id":"2","country":"Australia","shipping_rate":"2"}]"
保存时不应在开头和结尾引用数组,但这种情况正在发生。当我在运输领域检查我的模型时,我试图修剪它,但它说不能,因为它说它是一个数组,所以问题是当它被保存到该字段的数据库时
在保存未加引号
时,数组应该如下所示[{"id":"1","country":"New Zealand","shipping_rate":"1"},{"id":"2","country":"Australia","shipping_rate":"2"}]
答案 0 :(得分:5)
mysql不保存数组,它可以保存字符串。保存数组时,设计是将数组序列化为字符串。
如果您使用的是MySql 5.7.8或更高版本,则可以使用JSON数据类型。
答案 1 :(得分:1)
你不能直接在mysql中保存数组会引发异常,你应该用字符串(use json_encode())
转换它并将它保存在varachar / text type字段的mysql中。
再次从db获取数据时,将其转换为数组(use json_decode())
然后使用它。
答案 2 :(得分:0)
你必须将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")";
}
?>
我回家帮忙