What potential security risks are present in the PHP code provided, especially in relation to handling user input and database queries?

The PHP code provided is vulnerable to SQL injection attacks due to directly concatenating user input into the SQL query. To mitigate this risk, you should use prepared statements with parameterized queries to sanitize and validate user input before executing any database queries.

// Original vulnerable code
$user_input = $_POST['username'];
$query = "SELECT * FROM users WHERE username = '$user_input'";
$result = mysqli_query($conn, $query);

// Fixed code using prepared statements
$user_input = $_POST['username'];
$query = "SELECT * FROM users WHERE username = ?";
$stmt = $conn->prepare($query);
$stmt->bind_param("s", $user_input);
$stmt->execute();
$result = $stmt->get_result();