What is the scope of variables in PHP and how does it impact functions like send_sql in the provided code?

The issue in the provided code is that the `$conn` variable is defined outside the `send_sql` function, making it a global variable. This can lead to potential issues with variable scope and can make the code harder to maintain. To solve this, we should pass the `$conn` variable as a parameter to the `send_sql` function to ensure proper variable scoping and encapsulation.

<?php

function send_sql($conn, $sql_query) {
    // code to send SQL query using $conn
}

// Example of connecting to a database
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

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

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

// Example of using the send_sql function
$sql_query = "SELECT * FROM table_name";
send_sql($conn, $sql_query);

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

?>