当前位置: 首页 > 知识库问答 >
问题:

错误:对非对象调用成员函数prepare()

萧亦
2023-03-14

请帮帮我

致命错误:在第104行的/home/u357965800/public_html/include/class.admin.php中对非对象调用成员函数prepare()

<?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个答案

段干英杰
2023-03-14

在第104行中,在$this上调用准备-

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

$this-

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

因为$this-

 类似资料:
  • 这是我代码的一部分 我得到一个错误致命错误:对$stmt行上的非对象调用成员函数bind_param()-

  • 我得到一个错误与此文本:(对不起,我的英语不好,我来自德国!) 错误:

  • 我想在数据库中存储用户配置数据,我正在关注这个论坛的帖子http://forumsarchive.laravel.io/viewtopic.php?id=10406但当我实现它时,laravel抛出了一个错误。我运行了composer dump autoload,但似乎没有任何功能。这里有什么问题? //文件名:app/config/settings。php 用法: echo Config::ge

  • 问题内容: 因此,我正在重构代码以实现更多的OOP。我设置了一个类来保存页面属性。 稍后,我像这样调用set_page_title()函数 当我收到错误消息时: 调用非对象上的成员函数set_page_title() 那我想念什么呢? 问题答案: 这意味着它不是对象的实例。我们可以看到您用来初始化变量的代码吗? 当您期望特定的对象类型时,还可以使用PHP的类型提示功能 Docs 在违反逻辑时得到错

  • 连接失败:SQLState[28000][1045]拒绝用户“rkcat”@"localhost“(使用密码:YES)的访问。严重错误:对中的非对象调用成员函数query()

  • 我在我的网站上有一个注册系统,我正在将我所有的mysql语句更改为PDO语句。当我更改它时,我得到了以下错误:致命错误:对第16行的非对象调用成员函数prepare() 这是我的密码。。。 php。。。