wordpress中其他mysql查询中的mysql查询

elcex8rz  于 2021-06-21  发布在  Mysql
关注(0)|答案(0)|浏览(225)

我正在为wordpress建立一个附属系统。我正在尝试从当前用户获取所有客户ID。我在phpmyadmin中实现了它,但是如果我把它放到WordPressPHP文件中,它就不起作用了。
以下是phpmyadmin中的工作代码:

select  user_id,    
        meta_key,
        meta_value 
from    (select * 
        from prefix_usermeta
        where meta_key = 'sponsor_id'
        order by meta_value, user_id) meta_sorted,
        (select @pv := '1') initialisation
where   find_in_set(meta_value, @pv) > 0
and     @pv := concat(@pv, ',', user_id)

上面的疑问是:

user_id     meta_key        meta_value
--------------------------------------
4           sponsor_id      1
9           sponsor_id      1
5           sponsor_id      4
6           sponsor_id      5
7           sponsor_id      6
8           sponsor_id      7

所以这一切都很顺利!现在我需要把它放到wordpress上。我这样试过,我觉得应该是这样的:

$downlinequery = $wpdb->get_results("
    select      user_id, meta_key, meta_value 
    from        (select * from " . $wpdb->prefix . "usermeta
    where       meta_key = 'sponsor_id'
                order by meta_value, user_id) meta_sorted,
                (select @pv := '1') initialisation
    where       find_in_set(meta_value, @pv) > 0
    and         @pv := concat(@pv, ',', user_id)");

这是我第一次尝试。它不起作用。我试过的第二件事(也是一样,只是稍微干净一点:

$indownlinesquery = $wpdb->get_results('
    select      * 
    from        ' . $wpdb->prefix . 'usermeta 
    where       meta_key = "sponsor_id" 
    order by    meta_value, user_id');

$downlinequery = $wpdb->get_results("
    select      user_id, meta_key, meta_value 
    from        (" . $indownlinesquery . ") meta_sorted,
                (select @pv := '1') initialisation
    where       find_in_set(meta_value, @pv) > 0
    and         @pv := concat(@pv, ',', user_id)");

我得到一个空数组。
我做错什么了?
谢谢您!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题