Това е така, защото нямате променлива $link в обхвата на функцията. (Което означава, че $link е null) Можете да предадете вашия ресурс за връзка към вашата функция като параметър (което е променлива $link във вашия случай) или да използвате global.
предаването на ресурс за връзка като параметър ще бъде като:
$link = mysqli_connect("example.com","a","b","c");
function foobar($link){
$sql = 'INSERT INTO `table` (`field1`, `field2`) VALUES ("foo", "bar");';
mysqli_query($link, $sql);
}