如何在我的函数中修复“在字符串上调用成员函数execute()”

时间:2019-05-27 14:45:44

标签: php wordpress

我正在修改一个Wordpress API,目前仅使用leanrpress函数从数据库中获取learningpress课程和课程信息。我需要修改API以从新实现的插件h5p中获得分数,因此我需要创建一个新函数来访问数据库并从正确的表中获取分数,然后将其与相应的课程一起放入数组中。这里的数组只是一个示例,我正在使用它来查看是否可以获取数据,但我陷入了错误

  

“在字符串上调用成员函数execute()”

当我尝试在邮递员上运行它时。有人可以在这个问题上减轻我的负担吗?

function ilp_api_get_progress_by_mail($data){
    $mail=$_GET['mail']; //$data->get_param["mail"];
    $course_id=$_GET['course'];
    global $wpdb;

    $user=get_user_by("email",$mail);
    if($user !== false){
        $lp_user=learn_press_get_user( $user->ID );

        if($course_id==NULL){
            $all_courses=ilp_api_get_all_courses($data);
        }else{
            $all_courses=array('courses' => array(array('id' => intval($course_id))));
        }

        $progress=array();
        $i=0;
        if($all_courses!=NULL && $all_courses['courses']!=null){
            foreach($all_courses['courses'] as $course){
                if($lp_user->has_enrolled_course($course['id'])){
                    $lp_course=learn_press_get_course( $course['id'] );
                    $course_data       = $lp_user->get_course_data($course['id']);
                    $course_results    = $course_data->get_results( false );
                    $progress[$i]=array(
                        'id' => $course['id'],
                        'name' => $lp_course->get_title(), //$course['name'],
                        'condition' => $lp_course->get_passing_condition(),
                        'completed' => $course_results['completed_items'],
                        'total' => $course_results['count_items'],
                        'progress' => absint( $course_results['completed_items'] / $course_results['count_items'] * 100 ),
                        'permalink' => $lp_course->get_permalink(),
                    );
                    $i++;
                }
            }
        }
        $result = array(
            'userfound' => true,
            'user_id' => $user->ID,
            'connect' => get_h5p_grades(),
            'courses_progress' => $progress,
            'course_id' => $all_courses,
        );

     function get_h5p_grades(){
    global $wpdb;

    $ID = 1;
    $ID_use = 1;


    $result = $wpdb->prepare('SELECT score FROM mci_h5p_results WHERE id = %d AND user_id = %d', $ID, $ID_use);
    $result->execute();
    $donnees = $result->fetch();
    return $donnees;
}

0 个答案:

没有答案