What best practices should be followed when generating Google Charts with data from a MySQL database in PHP?

When generating Google Charts with data from a MySQL database in PHP, it is best practice to securely connect to the database, retrieve the data, format it properly for the chart, and then pass it to the Google Charts API for visualization.

// Connect to MySQL database
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// Retrieve data from MySQL database
$sql = "SELECT * FROM table";
$result = $conn->query($sql);

$data = array();
while ($row = $result->fetch_assoc()) {
    $data[] = $row;
}

// Format data for Google Charts
$chartData = array();
foreach ($data as $row) {
    $chartData[] = array($row['column1'], $row['column2']);
}

// Pass data to Google Charts API for visualization
?>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
    google.charts.load('current', {'packages':['corechart']});
    google.charts.setOnLoadCallback(drawChart);

    function drawChart() {
        var data = google.visualization.arrayToDataTable(<?php echo json_encode($chartData); ?>);

        var options = {
            title: 'Chart Title',
            // Add any other options here
        };

        var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
        chart.draw(data, options);
    }
</script>

<div id="chart_div" style="width: 100%; height: 500px;"></div>
<?php

// Close MySQL connection
$conn->close();