Ты почти у цели. Мой класс базы данных выглядит примерно так:
class DB {
function __construct($host,$user,$pass,$db) {
// error checking has been removed for brevity
$this->mysql = mysql_connect($host,$user,$pass);
mysql_select_db($this->mysql, $db);
}
function fetchRows($query) {
// error checking removed again
$result = mysql_query($this->mysql);
$return = array();
while($data = mysql_fetch_assoc($result))
$return[] = $data;
mysql_free_result($result);
return $return;
}
}
В моем основном включаемом файле у меня есть что-то вроде этого:
require 'DB.inc.php';
$GLOBALS['DB'] = new DB('localhost', 'root', '', 'my_database');
И тогда в любой части моего проекта я могу выполнить запрос, подобный этому:
global $DB;
$query = 'SELECT UserID, UserName FROM users';
foreach($DB->fetchRows($query) as $user)
echo "$user[UserID]: $user[UserName]\n";
Примечания: mysql_pconnect () не рекомендуется, см. Страницу руководства комментарии пользователей по некоторым причинам.