Php Wordpress-Mysql:需要从表中提取值,并在字段中对其进行过滤;课程编号;从第二张桌子

Php Wordpress-Mysql:需要从表中提取值,并在字段中对其进行过滤;课程编号;从第二张桌子,php,arrays,wordpress,Php,Arrays,Wordpress,我有两张桌子 第一个包含成员级别和相关课程的列表(例如:课程1分配给级别1,课程2分配给级别1,课程3分配给级别2) 第二个包含所有课程的列表。我只想列出与当前用户级别关联的课程。 于是我写道: 全球的 $wpcwdb, $wpdb; if (!current_user_can('administrator')) { function get_user_roles_by_user_id( $user_id ) { $user = get_userdata

我有两张桌子 第一个包含成员级别和相关课程的列表(例如:课程1分配给级别1,课程2分配给级别1,课程3分配给级别2) 第二个包含所有课程的列表。我只想列出与当前用户级别关联的课程。 于是我写道:

全球的

 $wpcwdb, $wpdb;
    if (!current_user_can('administrator')) {
        function get_user_roles_by_user_id( $user_id ) {
        $user = get_userdata( $user_id );
        return empty( $user ) ? array() : $user->roles;
        }
        $user_id = get_current_user_id();
        $user_ad_roles= get_user_roles_by_user_id($user_id);
        $user_ad_roles= implode("','",$user_ad_roles);
        echo $user_ad_roles;

// and this show the role (level) for the current user
// then interrogate the table 1

$SQL = "
                SELECT course_id 
                FROM $wpcwdb->map_member_levels
                WHERE member_level_id = '$user_ad_roles' ";
                $corsi_del_livello = $wpdb->get_results($SQL);

//now I need to filter the second table on the results of this first query

$SQL = "
                SELECT * 
                FROM $wpcwdb->courses
                WHERE course_id IN(".implode(',',$corsi_del_livello).")
                ORDER BY $orderBy $ordering";

        $courses = $wpdb->get_results($SQL);
    }
但它不起作用

在Wordpress中,我得到以下错误
“可捕获的致命错误:类stdClass的对象无法转换为C:\xampp\htdocs\profad中的字符串。它\wp content\plugins\wp course\pages\page\u course\u das‌​第79行的hboard.inc.php“
。第79行是第二个查询中的“WHERE”子句

有人能帮我吗?

解决了!! 我在两个表之间建立了连接,代码如下:

global $wpcwdb, $wpdb;
    if (!current_user_can('administrator')) {
        function get_user_roles_by_user_id( $user_id ) {
        $user = get_userdata( $user_id );
        return empty( $user ) ? array() : $user->roles;
        }
        $user_id = get_current_user_id();
        $user_ad_roles= get_user_roles_by_user_id($user_id);
        $user_ad_roles= implode("','",$user_ad_roles);
        echo $user_ad_roles;
    $livelli= $wpcwdb->map_member_levels;
        $corsi= $wpcwdb->courses;
        $SQL = "
                SELECT $livelli.course_id, $corsi.*
                FROM $corsi INNER JOIN $livelli ON $corsi.course_id = $livelli.course_id 
                WHERE $livelli.member_level_id = '$user_ad_roles' ";

        $courses = $wpdb->get_results($SQL);
    }

您是否有错误日志或可以更详细地描述当前行为?在wordpress中,我得到以下错误“可捕获致命错误:类stdClass的对象无法转换为C:\xampp\htdocs\profad.it\wp content\plugins\wp course\pages\page\u course\u dashboard.inc.php中的字符串”,第79行在第二个查询中“WHERE”条款。