Why is the array variable only available within the while loop in PHP when fetching data from a MySQL database using fetch_assoc()?

When fetching data from a MySQL database using fetch_assoc(), the array variable is only available within the while loop because each iteration of the loop assigns a new row of data to the array variable. Once the loop completes, the array variable goes out of scope and is no longer accessible. To access the fetched data outside of the loop, you can store it in another variable or process it within the loop itself.

// Connect to MySQL database
$conn = new mysqli($servername, $username, $password, $dbname);

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

// Fetch data from the database
$result = $conn->query("SELECT * FROM table_name");

// Process fetched data
if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        // Access and process data within the loop
        echo $row['column_name'] . "<br>";
    }
} else {
    echo "0 results";
}

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