I am new to php and have written a few classes to use. I have a
generic mysql class to do db functions.  I'm passing this by reference
to a members class.  The members class is then extended by a mail
class.

I have the following code to execute:
<?
$_SESSION["iMemberID"] = 19;
require_once("../classes/class.mysql.php");
require_once("../_global.php");
require_once("../classes/class.members.php");
require_once("../classes/class.mail.php");

$objMember = new members($_SESSION["objDB"]); //intialize member class
$objMember->setMemberID($_SESSION["iMemberID"]); //setter - iMemberID

$objMail = new memberMail($objMember);
$objMail = fnGetMail();
$iNbrMessages = $objMail->getNumRows();
?>

I'm using PHP5 and I can return a string from fnGetMail(), but when I
try to run the mySQLConnector functions, it fails and does not show
any error.  I'm sure I've made a silly mistake or am missing something
obvious, but I can't seem to find it.


_global.php
<?
require_once("classes/class.mysql.php");
        
/*
 * Set array for global (site-wide) variables
 */
$aSiteSettings = array(
        // DB Settings
        "sDSN" => "dsn1",
        "sDSNGeography" => "dsn2",
        "sDBServer" => "servername",
        "sDBLogin" => "dbLogin",
        "sDBPassword" => "dbPassword"
);

        
if(!isset($_SESSION["objDB"])){
        $_SESSION["objDB"] = new MySQLConnector($aSiteSettings["sDBServer"],
$aSiteSettings["sDBLogin"], $aSiteSettings["sDBPassword"],
$aSiteSettings["sDSN"]);  //initialize MySQLConnector Class
}
?>



class.mysql.php
<?
class MySQLConnector {
    var $conId; // connection identifier
    var $host; // MySQL host
    var $user; // MySQL username
    var $password; // MySQL password
    var $database; // MySQL database
    var $result; // result set
    // constructor
    function MySQLConnector($host,$user,$password,$database){
        // validate incoming parameters
        (!empty($host))?$this->host=$host:die('Host parameter not
valid');
        (!empty($user))?$this->user=$user:die('User parameter not
valid');
        (!empty($password))?$this->password=$password:die('Password
parameter not valid');
        (!empty($database))?$this->database=$database:die('Database
parameter not valid');
        // connect to MySQL and select database
        $this->connectDB();
    }
    // connect to MYSQL server and select database
    function connectDB(){
       
$this->[EMAIL PROTECTED]($this->host,$this->user,$this->password)
or die('Error connecting to the server '.mysql_error());
        @mysql_select_db($this->database,$this->conId) or die('Error
selecting database');
    }
    // perform query
    function performQuery($query){
        $this->[EMAIL PROTECTED]($query,$this->conId) or die('Error
performing query '.$query);
    }
    // fetch row
    function fetchRow(){
        return mysql_fetch_array($this->result,MYSQL_ASSOC);
    }
    // get number of rows
    function getNumRows(){
        return mysql_num_rows($this->result);
    }
    // get number of affected rows
    function getAffectedRows(){
        return mysql_affected_rows($this->conId);
    }
    // get ID from last inserted row
    function getInsertID(){
        return mysql_insert_id($this->conId);
    }
}
?>



class.members.php
<?
class members { 
        var $iMemberID;
        var $iProfileID;
        
        function members(&$MySQLConnector){
                $this->mySQLConnector = &$MySQLConnector; // Pass 
class.mysql.php by
reference
        }
.
.
.
.

        // Setters
        function setMemberID($iMemberID){
                return $this->_iMemberID = $iMemberID;
        }
        
        function setProfileID($iProfileID){
                return $this->_iProfileID = $iProfileID;
        }
        
        // Getters
        function getMemberID(){
                return $this->_iMemberID;
        }
        
        function getProfileID(){
                return $this->_iProfileID;
        }
}
?>



class.mail.php
<?
        class memberMail extends members {
                function fnGetMail() {
                        $sql = "
                        SELECT          
                                *
                        FROM                    
                                tblEmail
                        WHERE                   
                                iToMemberID = getMemberID()
                        Order by dtEmailDate Desc
                        ";
                //return "testing return working";
        
                $this->mySQLConnector->performQuery($sql);
                return $this->mySQLConnector->fetchRow();
                }
.
.
.
.
}
?>




Community email addresses:
  Post message: php-list@yahoogroups.com
  Subscribe:    [EMAIL PROTECTED]
  Unsubscribe:  [EMAIL PROTECTED]
  List owner:   [EMAIL PROTECTED]

Shortcut URL to this page:
  http://groups.yahoo.com/group/php-list 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/php-list/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Reply via email to