php如何将二维数组存入进数据库之中
问题:请问php如何将一二维数组存入进数据库中
答案:用php把一维数组二维数组转换成字符串,存入数据库
答案1:使用base64,serialize()存入;unserialize()读取;
答案2:json_encode()或者序列化后就成了一个字符串了,读取的时候要反序列化或者json_decode
mysql的json类型字段操作和注意事项
一、注意事项
1.初始化问题
json类型字段,默认值不要设置为Null,可以给个空json串 {} 的默认值。
但是mysql不支持给json类型的字段设置默认值。
所以,最终方案是在初始化insert记录的时候,json类型字段一定要给个初始值。可以是:{},[],
或其它不为空不为null的初始值。
个人初始化值为{}.
2.字符串提取问题
取值: json_extract(json字段,"$.key值"); 取出的字符串存在引号
取值: json字段 ->> '$.attribute'; 取出的字符串不存在引号
二、常用sql操作
1. json_merge 合并Json并返回
update `zzzyk.com` set `yizuotu.net` = json_merge(inviteeMap, '{"xx1":100}')
where `account` = 'xiaoyaxiao.com';
2. 插入json
update `zzzyk.com` set `yizuotu.net` = json_insert(inviteeMap, '$.a1', "111")
where `account` = 'xiaoyaxiao.com';
3.插入或者更新json字段。
update `zzzyk.com` set `yizuotu.net` = json_set(inviteeMap, '$.a', "111")
where `account` = 'xiaoyaxiao.com';
4.抽取json字段的值。
update `zzzyk.com` set `yizuotu.net` = json_extract(inviteeMap, '$.a')
where `account` = 'xiaoyaxiao.com';
5,移除json的某个属性
update `zzzyk.com` set `yizuotu.net` = json_remove(inviteeMap,'$.b')
where `account` = 'xiaoyaxiao.com';