Если все имена сами по себе уникальны, вам не нужно беспокоиться о проверке, было ли имя вызвано, потому что оно будет существовать только один раз в вашем наборе записей.
Если все, что вам нужно, это имя и идентификатор вашей функции, а общее количество имен не слишком велико (например, упомянутое вами ~ 100), тогда проще всего сначала просто извлечь их все в память, чтобы выне нужно иметь дело с курсором БД или повторным запросом.
PDO Пример:
$db = new PDO($dsn, $username, $password);
// fetch all records returning an array like:
// array($id => $name)
$names = $db->query('SELECT id, name FROM tablename')->fetchAll(PDO::FETCH_KEY_PAIR);
for($i = 0; $i < 5; $i++)
{
foreach($names as $id => $name)
{
myfunction($id, $name); // call your function
}
}
Mysqli Пример:
$db = new Mysqli($host, $username, $password, $dbname);
$result = $db->query('SELECT id, name FROM tablename');
if($result)
{
$names = $result->fetch_all(MYSQLI_ASSOC);
$result->free();
for($i = 0; $i < 5; $i++)
{
foreach($names as $j => $row)
{
myfunction($row['id'], $row['name']); // call your function
}
}
}