繁体   English   中英

$ wpdb-> get_results不起作用

[英]$wpdb->get_results not working

我编写以下代码将值从一个表复制到另一表,但$ wpdb-> get_results不返回任何内容。

function rating_convert() {
    global $wpdb;
    $likes = $wpdb->get_results('SELECT * FROM ' . $wpdb->prefix . 'up_down_comment_vote_totals', ARRAY_N);
    foreach ($likes as $like) {
        $wpdb->query('UPDATE ' . $wpdb->prefix  . 'comment_rating SET ck_rating_up = ' . $like['vote_count_up'] . ' WHERE ck_comment_id = ' . $like['comment_id']);
        $wpdb->query('UPDATE ' . $wpdb->prefix  . 'comment_rating SET ck_rating_down = ' . $like['vote_count_down'] . ' WHERE ck_comment_id = ' . $like['comment_id']);
    }
}

我已经用echo函数测试了每一行。foreach行未运行,我认为$ wpdb-> get_results是错误的。 请帮我。 对不起,我的英语不好。

我解决这个。 我的桌子有147,308行。 问题是表的行数。 我添加LIMIT代码仅获得1000行,并在复制到另一个table.thanks之后删除每一行。

function comment_rating() {
    global $wpdb;
    $likes = $wpdb->get_results('SELECT * FROM ' . $wpdb->prefix . 'up_down_comment_vote_totals LIMIT 0, 1000', ARRAY_A);
    foreach ($likes as $like) {
    echo "id " . $like['comment_id'] . "<br>";
    $wpdb->query('UPDATE ' . $wpdb->prefix  . 'comment_rating SET ck_rating_up = ' . $like['vote_count_up'] . ' WHERE ck_comment_id = ' . $like['comment_id']);
    $wpdb->query('UPDATE ' . $wpdb->prefix  . 'comment_rating SET ck_rating_down = ' . $like['vote_count_down'] . ' WHERE ck_comment_id = ' . $like['comment_id']);
    $wpdb->query('DELETE FROM ' . $wpdb->prefix  . 'up_down_comment_vote_totals WHERE comment_id =  ' . $like['comment_id']);
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM