客户的网站发现无意中发现论坛某个栏目的贴子被批量插入广告了。一个一个的删除太费劲,只能在数据库批量替换删除了。Discuz X3.X论坛后台提供数据库SQL语句操作的功能,但是默认情况下出于安全考虑,该功能是被关闭的,所以得先修改下配置文件,方法如下:(这破程序,官方都已经停止更新了,客户还在用由于客户没有技术也不想多花钱所以找我帮忙)
找到论坛程序文件config/config_global.php,用记事本打开该文件,然后查找$_config[‘security’][‘querysafe’][‘status’]将其设置为0,继续查找$_config[‘admincp’][‘runquery’]将其设置为1即可。(出于安全考虑,建议执行SQL语句完毕后将这两个参数的值再改回来)
然后进入管理后台→站长→数据库→升级 执行以下代码:
UPDATE pre_forum_post SET message=REPLACE(message,'需要替换的内容','替换后的内容');
我这里需要替换的字符为:ШШ 那么就执行以下代码。
替换成功后,别忘记把配置文件里面修改的两项恢复回来。
注意:在论坛后台或者phpmyadmin执行SQL语句,操作前请先备份数据库!
如果是Discuz!7.2及以前的版本这种更古老的版本请使用以下语句:
update cdb_posts set message = replace(message, 'userdirs/a/1/5z6z/attachments', 'attachments');
适用于Discuz! X
update pre_portal_article_content set content = replace(content,'原内容','替换内容');
说明如下: update 就是更新的意思 pre_portal_article_content 就是要替换的表,这个是门户的文章内容 set 就是设置的意思 content 就是pre_portal_article_content 里的字段,这里面是保存文章内容的 replace 就是替换的意思 '原内容' 引号里的内容就是需要替换的 '替换内容'引号里的内容就是要替换后的 替换其他内容方法和原理都是一样的,就是改下表,字段,内容 |
未经允许不得转载:OZ分享-吉家大宝官方博客 » Discuz X3.X通过数据库批量替换修改帖子内容