ऐसा इसलिए है क्योंकि आपके पास फ़ंक्शन स्कोप में $link वैरिएबल नहीं है। (मतलब $link शून्य है) आप अपने कनेक्शन संसाधन को अपने फ़ंक्शन में एक पैरामीटर के रूप में पास कर सकते हैं (जो आपके मामले में $link वैरिएबल है) या ग्लोबल का उपयोग कर सकते हैं।
एक पैरामीटर के रूप में कनेक्शन संसाधन पास करना इस प्रकार होगा:
$link = mysqli_connect("example.com","a","b","c");
function foobar($link){
$sql = 'INSERT INTO `table` (`field1`, `field2`) VALUES ("foo", "bar");';
mysqli_query($link, $sql);
}