修复卸载畅言后出现随机重复评论的脚本
2017-04-11
之前说过畅言卸载后会随机出现重复评论,需要写个脚本来修复
不过因为危害不大就算了,一直拖着没弄
今天正好有点时间,就随手写了段脚本,经过本地测试+线上执行,成功清除掉了畅言生成的重复评论
现将这段脚本开源。基本思路就是获取所有畅言添加的评论(comment_agent like 'changyan_%'
),然后判断是否有跟这条评论内容相同的、同一个作者的、回复同一篇文章同一条评论的其他评论,如果有,则删除
<?php
$db = new PDO('mysql:host=localhost;dbname=mokeyjay', 'root', 'root');
$sql = 'Select * From wp_comments Where comment_agent Like \'changyan_%\'';
foreach ($db->query($sql) as $row){
$q = $db->prepare('Select comment_ID From wp_comments Where comment_ID != :id and comment_content = :content And comment_post_ID = :post_id And comment_author = :author And comment_parent = :parent Limit 1');
$q->execute([
':id' => $row['comment_ID'],
':post_id' => $row['comment_post_ID'],
':author' => $row['comment_author'],
':content' => $row['comment_content'],
':parent' => $row['comment_parent'],
]);
$row1 = $q->fetch();
if($row1){
var_dump($db->exec('Delete From wp_comments Where comment_ID='.$row1['comment_ID']));
echo '<br>';
}
}
感觉这样写SQL好奇怪,关键字要么全大写,要么全小写,首字母大写还是第一次看到
噫,我也不知道是哪里养成的破习惯……
刚刚关了畅言,好像确实存在问题