卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章77718本站已运行444

飞飞cms批量删除来源标识里面特定内容

飞飞cms是一个采集资源站的查询,有时因为采集了过多的资源站,又有一些资源站因为倒闭了,我们来源标识里面还保留了它的内容,一个一个删除那是不可能的,太多了,那么有没有比较快的方法呢?
下面这个php文本就可以一次性删除它!
<?php
// 数据库连接参数
$host = 'localhost';
$db = '数据库名称';
$user = '数据库用户名';
$pass = '数据库密码';

// 创建数据库连接
$mysqli = new mysqli($host, $user, $pass, $db);

// 检查连接是否成功
if ($mysqli->connect_error) {
    die('Connect Error (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error);
}

// 查询包含 [35]= 或 http 的记录 ,这里可以换成您中间的
$query = "SELECT vod_id, vod_reurl FROM ffdy_vod WHERE vod_reurl LIKE '%[35]=%' OR vod_reurl LIKE '%http%'";
$result = $mysqli->query($query);


// 检查查询是否成功
if ($result) {
    while ($row = $result->fetch_assoc()) {
        $vod_id = $row['vod_id'];
        $vod_reurl = $row['vod_reurl'];

        // 输出原始数据用于调试
        echo "Original vod_reurl: " . $vod_reurl . "\n";

        // 删除包含 http 或 https 的部分
        $vod_reurl = preg_replace('/\bhttps?:\/\/[^\s,]+/', '', $vod_reurl);

        // 删除 [35]=[任意数字] 的部分
        $vod_reurl = preg_replace('/,\s*\[35\]=\[\d+\]|\[35\]=\[\d+\],?\s*/', '', $vod_reurl);

        // 确保多余的逗号被清理
        $vod_reurl = preg_replace('/,\s*,/', ',', $vod_reurl);
        $vod_reurl = trim($vod_reurl, ',');

        // 输出调试信息
        echo "After cleaning: " . $vod_reurl . "\n";

        // 更新数据库中的记录
        $update_query = "UPDATE ffdy_vod SET vod_reurl = ? WHERE vod_id = ?";
        $stmt = $mysqli->prepare($update_query);
        $stmt->bind_param('si', $vod_reurl, $vod_id);
        $stmt->execute();
    }

    // 释放结果集
    $result->free();
} else {
    echo 'Query Error: ' . $mysqli->error;
}

// 关闭数据库连接
$mysqli->close();
?>
 
卓越飞翔博客
上一篇: 函数中返回元组值时如何保持数据的完整性?
下一篇: 返回列表

相关推荐

留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏