Is it best practice to validate and sanitize user input before inserting it into a database in PHP to prevent SQL injection attacks?

It is best practice to validate and sanitize user input before inserting it into a database in PHP to prevent SQL injection attacks. This involves using functions like mysqli_real_escape_string() to escape special characters and prevent malicious SQL queries from being executed.

// Assuming $conn is a valid mysqli connection
$user_input = $_POST['user_input'];
$clean_input = mysqli_real_escape_string($conn, $user_input);

$query = "INSERT INTO users (username) VALUES ('$clean_input')";
mysqli_query($conn, $query);