What improvements can be made to the PHP code provided to enhance readability and efficiency in handling user registration data?

The PHP code can be improved by using prepared statements to prevent SQL injection attacks and by organizing the code into functions for better readability and maintainability. Additionally, implementing input validation and error handling can enhance the user experience.

<?php
// Establish database connection
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

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

// Function to handle user registration
function registerUser($conn, $username, $email, $password) {
    $stmt = $conn->prepare("INSERT INTO users (username, email, password) VALUES (?, ?, ?)");
    $stmt->bind_param("sss", $username, $email, $password);
    
    if ($stmt->execute()) {
        echo "User registered successfully";
    } else {
        echo "Error registering user";
    }
    
    $stmt->close();
}

// Validate user input
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $username = $_POST["username"];
    $email = $_POST["email"];
    $password = $_POST["password"];
    
    // Additional validation and sanitization code can be added here
    
    // Call registerUser function
    registerUser($conn, $username, $email, $password);
}

$conn->close();
?>