połączenie mysqli nie działa w funkcji? [duplikować]

To pytanie ma już tutaj odpowiedź:

Wywołanie funkcji składowej prepare () na nie obiektowej Pomocy PHP 8 odpowiedzi

Mam problemy z wykonaniem zapytania mysql wewnątrz funkcji php. Błąd, który otrzymuję, jest

Notice: Undefined variable: link in C:\path\api\inc\restFunctions.php on line 16

Jest kilka plików dzwoniących do siebie, więc spróbuję przedstawić niezbędne informacje.

Dostęp do adresu URL:

localhost/serverList/api/rest.php?action=allServers

serverList / api / rest.php

<?php
include 'inc/restFunctions.php';

$possibleCalls = array('allServers','allEnvs','allTypes','false');
if(isset($_GET['action'])){
    $action = $_GET['action'];
}
else{
    $action = 'false';
}


if(in_array($action,$possibleCalls)){
    switch ($action){
        case 'allServers':
            $return = allServers();
        break;
        case 'allEnvs':
            $return = allEnvs();
        break;
        case 'allTypes':
            $return = allTypes();
        break;
        case 'false':
            $return = falseReturn();
        break;
    }
}

serverList / api / inc / restFunctions.php

<?php
include ('inc/config.php');

function allServers(){
    $serverInfoQuery = "SELECT * FROM servers"
    $allServerResults = $link->query($serverInfoQuery);
    $json = array();
    while($row = $allServerResults->fetch_assoc()){
        $json[]['serverID'] = $row['serverID'];
        $json[]['environment'] = $row['environment'];
        $json[]['type'] = $row['type'];
        $json[]['serverIP'] = $row['serverIP'];
        $json[]['serverDescription'] = $row['serverDescription'];
        $json[]['serverCreatedBy'] = $row['serverCreatedBy'];
        $json[]['serverCreatedDtTm'] = $row['serverCreatedDtTm'];
        $json[]['serverUpdatedBy'] = $row['serverUpdatedBy'];
        $json[]['serverUpdatedDtTm'] = $row['serverUpdatedDtTm'];
    }
    $jsonResults = json_encode($json);
    return $jsonResults;
}
?>

serverList / api / inc / config.php

<?php
$host = 'localhost';
$user = 'userName';
$password = 'password';
$database = 'database';
$link = new mysqli($host, $user, $password, $database);
if (mysqli_connect_errno()) {
    exit('Connect failed: '. mysqli_connect_error());
}
?>

Sprawdziłem, że zapytanie jest wywoływane. Sprawdziłem również, czy informacje o połączeniu (zamaskowane powyżej) działają na innej stronie tego oprogramowania, które wysyła zapytanie do db.

Zakładam, że musiałem gdzieś pominąć cytat lub paren, ale jestem zaskoczony, gdzie to może być.

questionAnswers(3)

yourAnswerToTheQuestion