2013-04-01 1 views
-2

Пожалуйста, помогите, мнеОшибка: Вызов функции-члена подготовить() на не-объект

Фатальная ошибка: Вызов функции-члена подготовить() на не-объект в/главная/u357965800/public_html /include/class.admin.php на линии 104

<?php 
include_once('class.database.php'); 
class ManageAdmins 
{ 
    public $link; 

    function __construct() 
    { 
     global $prefix; 
     $db_connection = new dbConnection(); 
     $this->link = $db_connection->connect(); 

     return $this->link;  
} 

function AddAdmin($ausername,$apass,$afname,$alname,$aemail,$atel,$apic,$allow_term_add, $allow_term_list, $allow_term_edit, $allow_term_del, $allow_class_add, $allow_class_list, $allow_class_edit, $allow_class_del, $allow_lesson_add, $allow_lesson_list, $allow_lesson_edit, $allow_lesson_del, $allow_teacher_add, $allow_teacher_list, $allow_teacher_edit, $allow_teacher_del, $allow_course_add, $allow_course_list, $allow_course_edit, $allow_course_del, $allow_student_add, $allow_student_list, $allow_student_edit, $allow_student_del, $allow_cs_add, $allow_cs_list, $allow_cs_edit, $allow_cs_del, $allow_score_add, $allow_score_list, $allow_score_edit, $allow_chair_manage, $allow_admins_add, $allow_admins_list, $allow_admins_edit, $allow_admins_del, $allow_settings, $allow_homepage_message, $acomment, $admin_id) 
{ 
    global $prefix; 
    $query = $this->link->prepare("INSERT INTO `".$prefix."admins` (`ausername`, `apass`, `afname`, `alname`, `aemail`, `atel`, `apic`, `allow_term_add`, `allow_term_list`, `allow_term_edit`, `allow_term_del`, `allow_class_add`, `allow_class_list`, `allow_class_edit`, `allow_class_del`, `allow_lesson_add`, `allow_lesson_list`, `allow_lesson_edit`, `allow_lesson_del`, `allow_teacher_add`, `allow_teacher_list`, `allow_teacher_edit`, `allow_teacher_del`, `allow_course_add`, `allow_course_list`, `allow_course_edit`, `allow_course_del`, `allow_student_add`, `allow_student_list`, `allow_student_edit`, `allow_student_del`, `allow_cs_add`, `allow_cs_list`, `allow_cs_edit`, `allow_cs_del`, `allow_score_add`, `allow_score_list`, `allow_score_edit`, `allow_chair_manage`, `allow_admins_add`, `allow_admins_list`, `allow_admins_edit`, `allow_admins_del`, `allow_settings`, `allow_homepage_message`, `acomment`, `admin_id`) 
    VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) 
    "); 
    $values = array($ausername,$apass,$afname,$alname,$aemail,$atel,$apic,$allow_term_add, $allow_term_list, $allow_term_edit, $allow_term_del, $allow_class_add, $allow_class_list, $allow_class_edit, $allow_class_del, $allow_lesson_add, $allow_lesson_list, $allow_lesson_edit, $allow_lesson_del, $allow_teacher_add, $allow_teacher_list, $allow_teacher_edit, $allow_teacher_del, $allow_course_add, $allow_course_list, $allow_course_edit, $allow_course_del, $allow_student_add, $allow_student_list, $allow_student_edit, $allow_student_del, $allow_cs_add, $allow_cs_list, $allow_cs_edit, $allow_cs_del, $allow_score_add, $allow_score_list, $allow_score_edit, $allow_chair_manage, $allow_admins_add, $allow_admins_list, $allow_admins_edit, $allow_admins_del, $allow_settings, $allow_homepage_message, $acomment, $admin_id); 

    for($i=7;$i<45;$i++) 
    if(empty($values[$i])) 
     $values[$i]=0; 

    $query->execute($values); 
    $counts = $query->rowCount();  
    return $counts; 
} 

function UpdateAdmin($aid,$ausername,$afname,$alname,$aemail,$atel,$apic,$allow_term_add, $allow_term_list, $allow_term_edit, $allow_term_del, $allow_class_add, $allow_class_list, $allow_class_edit, $allow_class_del, $allow_lesson_add, $allow_lesson_list, $allow_lesson_edit, $allow_lesson_del, $allow_teacher_add, $allow_teacher_list, $allow_teacher_edit, $allow_teacher_del, $allow_course_add, $allow_course_list, $allow_course_edit, $allow_course_del, $allow_student_add, $allow_student_list, $allow_student_edit, $allow_student_del, $allow_cs_add, $allow_cs_list, $allow_cs_edit, $allow_cs_del, $allow_score_add, $allow_score_list, $allow_score_edit, $allow_chair_manage, $allow_admins_add, $allow_admins_list, $allow_admins_edit, $allow_admins_del, $allow_settings, $allow_homepage_message, $acomment, $admin_id) 
{ 
    global $prefix; 
    $query = $this->link->prepare("UPDATE `".$prefix."admins` SET `ausername`=?, `afname`=?, `alname`=?, `aemail`=?, `atel`=?, `apic`=?, `allow_term_add`=?, `allow_term_list`=?, `allow_term_edit`=?, `allow_term_del`=?, `allow_class_add`=?, `allow_class_list`=?, `allow_class_edit`=?, `allow_class_del`=?, `allow_lesson_add`=?, `allow_lesson_list`=?, `allow_lesson_edit`=?, `allow_lesson_del`=?, `allow_teacher_add`=?, `allow_teacher_list`=?, `allow_teacher_edit`=?, `allow_teacher_del`=?, `allow_course_add`=?, `allow_course_list`=?, `allow_course_edit`=?, `allow_course_del`=?, `allow_student_add`=?, `allow_student_list`=?, `allow_student_edit`=?, `allow_student_del`=?, `allow_cs_add`=?, `allow_cs_list`=?, `allow_cs_edit`=?, `allow_cs_del`=?, `allow_score_add`=?, `allow_score_list`=?, `allow_score_edit`=?, `allow_chair_manage`=?,`allow_admins_add`=?, `allow_admins_list`=?, `allow_admins_edit`=?, `allow_admins_del`=?, `allow_settings`=?, `allow_homepage_message`=?, `acomment`=?, `admin_id`=? WHERE `aid`=? 
    "); 
    $values = array($ausername,$afname,$alname,$aemail,$atel,$apic,$allow_term_add, $allow_term_list, $allow_term_edit, $allow_term_del, $allow_class_add, $allow_class_list, $allow_class_edit, $allow_class_del, $allow_lesson_add, $allow_lesson_list, $allow_lesson_edit, $allow_lesson_del, $allow_teacher_add, $allow_teacher_list, $allow_teacher_edit, $allow_teacher_del, $allow_course_add, $allow_course_list, $allow_course_edit, $allow_course_del, $allow_student_add, $allow_student_list, $allow_student_edit, $allow_student_del, $allow_cs_add, $allow_cs_list, $allow_cs_edit, $allow_cs_del, $allow_score_add, $allow_score_list, $allow_score_edit, $allow_chair_manage, $allow_admins_add, $allow_admins_list, $allow_admins_edit, $allow_admins_del, $allow_settings, $allow_homepage_message, $acomment, $admin_id,$aid); 

    for($i=6;$i<44;$i++) 
    if(empty($values[$i])) 
     $values[$i]=0; 

    $query->execute($values); 
    $counts = $query->rowCount(); 

    return $counts; 
} 

function ResetPassword($aid,$apass) 
{ 
    global $prefix; 
    $apass = md5($apass); 
    $query = $this->link->prepare("UPDATE `".$prefix."admins` SET `apass`=? WHERE `aid`=?"); 
    $values = array($apass,$aid); 

    $query->execute($values); 
    $counts = $query->rowCount(); 

    return $counts; 
} 

function ChangePassword($aid,$current_pass,$new_pass) 
{ 
    global $prefix; 
    $current_pass = md5($current_pass); 
    $new_pass = md5($new_pass); 
    $query = $this->link->prepare("SELECT * FROM `".$prefix."admins` WHERE `aid`=? AND `apass`=?"); 
    $values = array($aid,$current_pass); 
    $query->execute($values); 

    $counts = $query->rowCount(); 
    if($counts==1) 
    { 
     $query = $this->link->prepare("UPDATE `".$prefix."admins` SET `apass`=? WHERE aid=?"); 
     $values = array($new_pass,$aid); 

     $query->execute($values); 
     $counts = $query->rowCount(); 
     if($counts==1) 
      return 2; 
     else 
      return 3; 
    } 
    else 
     return 1; 
} 

function LoginAdmin($username,$password) 
{ 
    global $prefix; 
    $query = $this->link->prepare("SELECT * FROM `".$prefix."admins` WHERE ausername=? AND apass=?"); 
    $values = array($username,$password); 
    $query->execute($values); 
    $counts = $query->rowCount(); 

    return $counts; 
} 


function GetAdminInfo($username) 
{ 
    global $prefix; 
    $query = $this->link->prepare("SELECT * FROM `".$prefix."admins` WHERE `ausername`=?"); 
    $values = array($username); 
    $query->execute($values); 
    $counts = $query->rowCount(); 
    if($counts==1) 
    { 
     $result = $query->fetchAll(); 

     return $result;   
    } 
    else 
    { 
     return $counts; 
    } 
} 

function GetAdminInfoById($aid) 
{ 
    global $prefix; 
    $query = $this->link->prepare("SELECT * FROM `".$prefix."admins` WHERE `aid`=?"); 
    $values = array($aid); 
    $query->execute($values); 
    $counts = $query->rowCount(); 
    if($counts==1) 
    { 
     $result = $query->fetchAll(); 

     return $result;   
    } 
    else 
    { 
     return $counts; 
    } 
} 

function GetAdminList($query) 
{ 
    global $prefix; 
    $query = $this->link->query("SELECT * FROM `".$prefix."admins` $query ORDER BY `aid` DESC"); 
    $counts = $query->rowCount(); 
    if($counts>=1) 
    { 
     $result = $query->fetchAll(); 

     return $result;   
    } 
    else 
    { 
     return $counts; 
    } 
} 

function GetAdminList2($query,$start,$limit) 
{ 
    global $prefix; 
    $query = $this->link->query("SELECT * FROM `".$prefix."admins` $query ORDER BY `aid` DESC LIMIT $start,$limit"); 
    $counts = $query->rowCount(); 
    if($counts>=1) 
    { 
     $result = $query->fetchAll(); 

     return $result;   
    } 
    else 
    { 
     return $counts; 
    } 
} 

function UsernameAvailability($username) 
{ 
    global $prefix; 
    if(preg_match('/^[a-z\d_]{1,50}$/i', $username)) 
    { 
     $query = $this->link->prepare("SELECT * FROM `".$prefix."admins` WHERE `ausername`=?"); 
     $values = array($username); 
     $query->execute($values); 
     $counts = $query->rowCount(); 
     if($counts==1) 
      return 0;   
     else 
      return 1; 
    } 
    else 
    { 
     return 2; 
    } 

} 


function AdminPermission($username,$module) 
{ 
    global $prefix; 
    $query = $this->link->prepare("SELECT * FROM `".$prefix."admins` WHERE `ausername`=? AND $module=1"); 
    $values = array($username); 
    $query->execute($values); 
    $counts = $query->rowCount(); 
    if($counts==1) 
     return 1; 
    else   
     return $counts;  
} 

function DeleteAdmin($aid) 
{ 
    global $prefix; 
    $query = $this->link->prepare("DELETE FROM `".$prefix."admins` WHERE `aid`=?"); 
    $values = array($aid); 
    $query->execute($values); 
    $counts = $query->rowCount(); 
    if($counts==1) 
     return 1; 
    else   
     return $counts; 
} 

function DelPic($id) 
{ 
    global $prefix; 
    global $pic_prefix; 
    $adminInfo = $this->GetAdminInfoById($id); 
    if(file_exists('../img/admins/'.$pic_prefix.$adminInfo[0]['aid'].$adminInfo[0]['apic'])) 
    { 
     if(unlink('../img/admins/'.$pic_prefix.$adminInfo[0]['aid'].$adminInfo[0]['apic'])) 
      return 1; 
     else 
      return 0; 
    } 
    else 
     return 1; 
} 

function LastAdminID() 
{ 
    global $prefix; 
    $query = $this->link->query("SELECT `aid` FROM `".$prefix."admins` ORDER BY `aid` DESC LIMIT 0,1"); 
    $result = $query->fetchAll(); 
    return $result[0]['aid']; 
} 
} 
?> 
+1

Для тех, кому интересно, строка 104 является '$ query = $ this-> link-> prepare (" SELECT * FROM '". $ Prefix. "Admins' WHERE' ausername' =? ");' .. , – Xenolithic

ответ

0

в строке 104, вы звоните prepare на $this->link:

$query = $this->link->prepare("SELECT * FROM `".$prefix."admins` WHERE `ausername`=?"); 

$this->link задается в строке 11:

$db_connection = new dbConnection(); 
$db->link = $db_connection->connect(); 

Поскольку $this->link не является объектом (скорее всего, NULL или около того), вы должны исправить $db_connection->connect() так, что он возвращает объект с prepare функции.