100 настроек? Загрузите их все сразу. Это не займет много времени. Вы абсолютно не хотите загружать их по одному.
$result = mysql_query('SELECT * FROM settings');
$settings = array();
while ($row = mysql_fetch_assoc($result)) {
$settings[$row['name']] = $row['value'];
}
Если вам нужно как-то разделить их, в зависимости от того, как вам это нужно, вы можете поместить категорию или что-то в таблицу, а затем просто загрузить все настройки в определенной категории.
Я бы предложил абстрагировать это от какого-то объекта:
class Settings {
private $settings;
public function __get($name) {
if (!$this->settings)) {
$result = mysql_query('SELECT * FROM settings');
$this->settings = array();
while ($row = mysql_fetch_assoc($result)) {
$this->settings[$row['name']] = $row['value'];
}
}
return $this->settings[$name];
}
}
Таким образом, настройки не загружаются, пока вы не попытаетесь получить к ним доступ:
$settings = new Settings;
echo $settings->admin_name; // now they're loaded