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/