[英]$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.