I'm working on trying to extend MDB2 in order to add a few proprietary functions that essentially I want to be accessed by $db.
//
// setup PEAR MDB2
//
require_once 'MDB2.php';
require_once 'MDB2/Driver/mysqli.php';
$params = array(
);
class NJTrackerDB extends MDB2 {
var $vTablePrefix = null;
var $vMembersTable = null;
public function tablePrefix($s = null) {
if (isset($s)) {
return $this->vTablePrefix;
} else {
$this->vTablePrefix = $s;
}
}
public function membersTable() {
global $db_membersTable;
$this->vMembersTable = $db_membersTable;
return $this->db_membersTable;
}
}
$dsn = "mysqli://$db_username:$db_password@$db_host/$db_database";
$db =& NJTrackerDB::factory($dsn, $params);
$db->connect($dsn);
echo $db->tablePrefix();
$sql = 'SELECT * FROM `items`';
$result = $db->query($sql);
while ($row = $result->fetchRow()) {
print_r($row);
}
At the moment, I'm getting errors about tablePrefix() not being defined, where connect does work. Can anyone suggest the proper way to do this? Thanks.