How can one avoid SQL injection vulnerabilities when manipulating strings retrieved from a database?

To avoid SQL injection vulnerabilities when manipulating strings retrieved from a database, you should always use parameterized queries or prepared statements. This helps prevent malicious SQL code from being injected into your queries by treating user input as data rather than executable code.

// Using parameterized queries to avoid SQL injection
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = :username");
$stmt->execute(['username' => $username]);
$user = $stmt->fetch();