É porque você não tem a variável $link no escopo da função. (O que significa que $ link é nulo) Você pode passar seu recurso de conexão para sua função como um parâmetro (que é a variável $ link no seu caso) ou usar global.
passar o recurso de conexão como um parâmetro será como:
$link = mysqli_connect("example.com","a","b","c");
function foobar($link){
$sql = 'INSERT INTO `table` (`field1`, `field2`) VALUES ("foo", "bar");';
mysqli_query($link, $sql);
}