我正在尝试通过 WordPress 运行 MySQL 查询,以返回我想要删除的帖子列表,因为它们没有“喜欢”投票(使用其他人的插件数据)。该查询在 phpMyAdmin 中运行良好,但是当我通过 WP 运行它时会出现语法错误......而且我认为它绝对没有理由这样做。
这是查询代码,它检查超过 30 天且在 wti_like_post 中没有相应“like”条目的帖子(无论是正面的还是负面的):
$novotesquery = "SELECT * FROM $wpdb->posts
WHERE $wpdb->posts.post_type = 'post'
AND $wpdb->posts.post_status = 'publish'
AND $wpdb->posts.post_date < DATE_SUB(NOW(), INTERVAL 30 DAY)
AND $wpdb->posts.ID NOT IN
(SELECT DISTINCT post_id FROM $wpdb->wti_like_post)" ;
$result = $wpdb->get_results($novotesquery);
语法错误表示 SQL 的最后一行存在问题(括号中的 SELECT):“您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册以获取在 ' 附近使用的正确语法) '在第 6 行"。
当我在 phpMyAdmin 中运行查询(将“$wpdb->”替换为表前缀)时,它会起作用。如果有人能告诉我为什么 SQL 查询将在服务器上运行而不是在 WP 中运行,我将不胜感激。
提前致谢。