What are the best practices for handling external database queries when the web hosting provider restricts external access in PHP?

When a web hosting provider restricts external access in PHP, one solution is to utilize a server-side script to act as a proxy for handling external database queries. This script can receive requests from the client-side, connect to the external database on the server-side, execute the query, and return the results back to the client-side. By using this approach, the client-side code can interact with the external database indirectly through the server-side script, bypassing the hosting provider's restrictions.

<?php
// Client-side code making a request to the server-side script
$query = "SELECT * FROM external_table";
$response = file_get_contents('https://yourdomain.com/proxy.php?query=' . urlencode($query));

// Server-side script (proxy.php) handling the external database query
$externalDbConnection = mysqli_connect('external_db_host', 'external_db_user', 'external_db_pass', 'external_db_name');
$query = urldecode($_GET['query']);
$result = mysqli_query($externalDbConnection, $query);

if($result) {
    $data = mysqli_fetch_all($result, MYSQLI_ASSOC);
    echo json_encode($data);
} else {
    echo "Error executing query: " . mysqli_error($externalDbConnection);
}

mysqli_close($externalDbConnection);
?>