I amn trying to use my db class in my auth class, but i get the error: call to a member function select() on a non object

<?php

class db {

        //      Members
        private $db_user = "mydbuser";
        private $db_pass = "mypassword";
        private $db_name = "mydb";
        private $db_server = "myhost.com";
        private $link;
        private $result_id;

        //      Methods
        public function __construct() {
                $this->connect();
        }

        // Connect to MySQL Server
        private function connect() {
$this->link = mysql_connect($this->db_server,$this->db_user,$this- >db_pass) or die("ERROR - Cannot Connect to DataBase"); mysql_select_db($this->db_name,$this->link) or die("ERROR: Cannot Select Database (" . $this->db_name . ")");
        }

        // Disconnect from MySQL Server
        private function disconnect() {
                mysql_close($this->link);
        }
        
        // MySQL Select
        public function select($sql) {
                $this->result_id = $this->query($sql);
                if($this->result_id){
                        $rows = $this->fetch_rows();
                }
                return $rows;
        }

        // Insert into MySQL
        public function insert($params) {
                extract($params);
                $sql = 'INSERT INTO '.$table.' ('.$fields.') VALUES 
('.$values.')';
                $this->query($sql);
                if($this->result_id){
                        $affected_rows = $this->affected_rows();
                }
                return $affected_rows;  
        }
        
        // Delete from MySQL
        public function delete($params) {
                extract($params);
                $sql = 'DELETE FROM '.$table.' WHERE '.$where;
                if (is_numeric($limit)) {
                        $sql .= ' LIMIT '.$limit;
                }
                $this->query($sql);
                if($this->result_id){
                        $affected_rows = $this->affected_rows();
                }
                return $affected_rows;          
        }
        
        // Update MySQL
        public function update($params) {
                extract($params);
                $sql = 'UPDATE '.$table.' SET '.$values.' WHERE '.$where;
                if(is_numeric($limit)){
                        $sql .= ' LIMIT '.$limit;
                }
                $this->query($sql);
                if($this->result_id){
                        $affected_rows = $this->affected_rows();
                }
                return $affected_rows;
        }
        
        // MySQL Query
        private function query($sql) {
                $this->result_id = mysql_query($sql);
                return $this->fetch_rows();
        }       
        
        
        // MySQL Fetch Rows
        private function fetch_rows() {
                $rows = array();
                if($this->result_id){
                        while($row = mysql_fetch_object($this->result_id)){
                                $rows[] = $row;
                        }                       
                }
                return $rows;   
        }
        
        // MySQL Affected Rows
        private function affected_rows() {
                return mysql_affected_rows($this->link);
        }

        // MySQL Affected Rows
        private function num_rows() {
                return mysql_num_rows($this->link);
        }
        
        // MySQL Affected Rows
        private function select_id() {
                return mysql_insert_id($this->link);
        }
        
        // Destruct!
        public function __destruct() {
                $this->disconnect();
        }
}

?>



<?php

require_once("db.class.php");

class auth {

        public $DB;
        public $UserID;
        public $AdminLevel;
        public $FirstName;
        public $LastName;
        public $DateAdded;
        public $MobileTelephone;
        public $LandLineTelephone;

    // Connect to the database
        public function __construct() {
                $DB = new db();
        }

    // Attempt to login a user
        public function CheckValidUser($Email, $Password) {
                $PasswordEncoded = $this->encode($Password);
$rows = $DB->select("SELECT * Users WHERE Email='$Email', AND Password='$PasswordEncoded'");
                if ($DB->num_rows > 0) {
                        $this->UserID = $row['ID'];
                        $this->AdminLevel = $row['Admin_Level'];
                        $this->FirstName = $row['First_Name'];
                        $this->LastName = $row['Last_Name'];
                        $this->DateAdded = $row['Date_Added'];
                        $this->MobileTelephone = $row['Telephone_Mobile'];
                        $this->LandLineTelephone = $row['Telephone_Land_Line'];
                        // User info stored in Sessions
                        session_start();
                        $_SESSION['Status'] = "loggedIn";
                        $_SESSION['ID'] = $row['ID'];
                        $_SESSION['Email'] = $row['Email'];
                        $_SESSION['AdminLevel'] = $row['Admin_Level'];
                        $_SESSION['LandLine'] = $row['Telephone_Land_Line'];
                        $_SESSION['MobileTelephone'] = $row['Telephone_Mobile'];
                        $_SESSION['FirstName'] = $row['First_Name'];
                        $_SESSION['LastName'] = $row['Last_Name'];
                } else {
                        return false;
                }
        }
        
        public function encode($str) {
                return md5(base64_encode($str));
        }
}

?>

<?php

$myauth = new auth();
$x = $myauth->CheckValidUser("[EMAIL PROTECTED]", "password");
echo $x;

?>

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to