嘟嘟社区

wordpress数据库替换后生效,但直接不能用,求解


问题描述:

数据库值原本是: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没有增加对应的长度

解憂雜貨店 发表于 2021-11-4 11:48
去恶补一下PHP序列化字符串代表的含义吧。
s:118 这玩意代表长度,你图片链接加了一个字符(http->https), …

那这种情况,我是不是就不能用upadate操作了啊。。求解

楼上说的很清楚了

phpsky 发表于 2021-11-4 11:54
楼上说的很清楚了

我能理解,但现在就是求方案,有什么命令可以达到替换,又能自动更新s的值呢

有个插件,直接解决

数据库值原本是: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:119:"https://www.abc.com/20210804.jpg";s:3:"url";s:120:"https://www.abc.com/20210804.html";}}

解憂雜貨店 发表于 2021-11-4 11:57
替换后为:a:1:{i:0;a:2:{s:6:"poster";s:119:"https://www.abc.com/20210804.jpg";s:3:"url";s:120:"htt …

难顶,因为几万个数据,长度都不一样

榆木 当前离线
积分
3833
9#
发表于 半小时前 来自手机 | 只看该作者
写个脚本 查出来 处理完了再写进去
返回列表

您需要登录后才可以回帖 登录 | 注册

本版积分规则