Thanks for the input.
Would the most effective method be to dynamically build the prepared statement based on the number of variables?
something along the lines of:
$ids = '1, 2, 3';
$array = explode(', ', $ids);
$count = count($array);
for ($i=0,$i<$count;$i++)
{
$params .= '? ,'
}
$params = substr($params, 0, -2);
$stmt = $mysqli->prepare("SELECT `id`, `name` FROM `table` WHERE `id` IN (".$params.")");
call_user_func_array(array($stmt, 'bind_param'), $array);
$stmt->execute();
$stmt->bind_result($id, $name);
while ($stmt->fetch())
{
echo $id.': '.$name."\n";
}