How can PHP developers avoid security vulnerabilities in their code?

To avoid security vulnerabilities in PHP code, developers should always sanitize user input, use parameterized queries to prevent SQL injection, validate and escape output to prevent cross-site scripting attacks, and keep PHP and its libraries up to date to patch any known security issues.

// Example of sanitizing user input
$userInput = $_POST['user_input'];
$sanitizedInput = filter_var($userInput, FILTER_SANITIZE_STRING);

// Example of using parameterized queries
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = ?");
$stmt->execute([$username]);

// Example of validating and escaping output
$unsafeOutput = "<script>alert('XSS attack!');</script>";
$escapedOutput = htmlspecialchars($unsafeOutput, ENT_QUOTES, 'UTF-8');
echo $escapedOutput;