我正在为WordPress建立一个联盟系统。我试图从当前用户获取所有客户ID。我在PHPMyAdmin中实现了它,但如果我将它放入WordPress php文件中,它就不起作用。
以下是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)");
我得到一个空数组。
我做错了什么?
谢谢!