我有一个include.php文件include_once('config.php');
include_once('adodb5/adodb.inc.php');
$db=ADONewConnection('mysql');
$mysql_obj=$db->connect($dbhost,$dbuser,$dbpass,$dbname);
if(!$mysql_obj)
{
    echo $mysql_obj->ErrorMsg();
    exit();
}
else
{
    $db->SetFetchMode(3);
}
include_once('class/teacher.php');这里数据库是能连上的。
然后teacher.php中class teacher
{
    var $username;
    var $password;
    var $studio_name;
    var $subject;
    var $header_name;
    var $header_sex;
    var $header_age;
    var $header_birth;
    var $header_work;
    var $db1;
   
    function teacher()
    {
           global $db;
           $db1 = $db;
           echo 2;
    }    
    
    
    function show_teacher_info($teacher_id)
    {//获取老师资料,$teacher_id是老师编号    }
    function add_teacher_info($info)
    {//增加老师,$info是提交的表单。
        print_r($info);
                
        $rs = $db1->Execute("select * from test");
        while ($array = $rs->FetchRow()) {
            print_r($array);
        }        
        
        
    }
    function modify_teacher_info($teacher_id)
    {//修改老师资料
    }            
}我在teacher了的成员函数中怎么调用$db这个对象呢。我试了一下,如果我在add_teacher_info($info)中加上global $db;就可以了。但是我想这个global $db;在整个类中都默认有,要不然每个函数中都要加一遍。可以直接在成员变量中就直接用这个$db对象吗?

解决方案 »

  1.   

        function teacher()
        {
               global $db;
               $this->db1 = $db;
               echo 2;
        }        function add_teacher_info($info)
        {//增加老师,$info是提交的表单。
            print_r($info);
                    
            $rs = $this->db1->Execute("select * from test");
            while ($array = $rs->FetchRow()) {
                print_r($array);
            }