Я явно сделал что-то довольно глупое здесь. Кто-нибудь может направить меня?
Вот как у меня все настроено:
database.php:
class Database extends PDO {
/**
* Connect
*/
public function __construct($file = 'db_config.ini') {
if (!$settings = parse_ini_file($file, TRUE)) throw new exception('Unable to open ' . $file . '.');
$dns = $settings['database']['driver'] .
':host=' . $settings['database']['host'] .
((!empty($settings['database']['port'])) ? (';port=' . $settings['database']['port']) : '') .
';dbname=' . $settings['database']['schema'];
parent::__construct($dns, $settings['database']['username'], $settings['database']['password']);
}
}
Team.php:
class Team {
private $_db;
/**
* getTeamMembers - Get team member UserIDs from TeamID
*
* @param int $teamID
* @return array UserIDs
*/
public function getTeamMembers($teamID) {
$result = "";
$STH = $this->_db->query("SELECT FirstName FROM UserDetails WHERE TeamID = '$teamID'");
$result = $STH->setFetchMode(PDO::FETCH_OBJ);
return $result;
}
}
Код страницы:
try {
$db = new Database();
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$team = new Team($db);
}
catch (PDOException $e) {
echo "<p>Error connecting to database: </p>".$e->getMessage();
}
$teamMembers = $team->getTeamMembers($teamID);
Сообщение об ошибке:
Call to a member function query() on a non-object in Team.php on line 20
Строка 20: $STH = $this->_db->query("SELECT FirstName FROM UserDetails WHERE TeamID = '$teamID'");
Что я сделал не так?