问题描述:
数据库值原本是:a:1:{i:0;a:2:{s:6:"poster";s:118:"http://www.abc.com/20210804.jpg";s:3:"url";s:119:"http://www.abc.com/20210804.html";}} 替换后为:a:1:{i:0;a:2:{s:6:"poster";s:118:"https://www.abc.com/20210804.jpg";s:3:"url";s:119:"https://www.abc.com/20210804.html";}} 就是http替换为https,也替换成功了,该段数据直接失效,连数据库查询,都查询不到https://www.abc.com/20210804.jpg这个内容。如果是从网站后台更改,是能生效的。 这个问题求解,(后台能生效为什么不直接在后台改呢?因为要修改几万次,肯定要数据站执行啊。) |
去恶补一下PHP序列化字符串代表的含义吧。 s:118 这玩意代表长度,你图片链接加了一个字符(http->https),而s:118没有增加对应的长度 |
那这种情况,我是不是就不能用upadate操作了啊。。求解 |
楼上说的很清楚了 |
我能理解,但现在就是求方案,有什么命令可以达到替换,又能自动更新s的值呢 |
有个插件,直接解决 |
替换后为:a:1:{i:0;a:2:{s:6:"poster";s:119:"https://www.abc.com/20210804.jpg";s:3:"url";s:120:"https://www.abc.com/20210804.html";}} |
难顶,因为几万个数据,长度都不一样 |