Wat je nu hebt gepakt zijn twee voorbeelden waarvan de eerste al een voorsprong heeft op de tweede.
PDO is een paar opzichten vooral beter dan MySQLI, als voorbeeld dat PDO meer databases ondersteund.
Alleen zie ik, dat je al bent begonnen met MySQLI. Ik zou dan niet halverwege een project de overstap naar PDO maken, wat je kan doen is net zoals in voorbeeld 1 beginnen met prepared statement.
Met bijvoorbeeld jouw gegeven voorbeeld wordt het ongeveer zo:
//$query = $db->query("SELECT * FROM users WHERE gebruiker = '".$_POST['gebruiker']."'");
$stmt = $mysqli->prepare("SELECT id,naam,gebruikersnaam FROM users WHERE gebruiker = ?");
$stmt->bind_param('s', $_POST['gebruiker']);
$stmt->exeucte();
$stmt->store_result();
$stmt->bind_result($userId, $userName, $userUName);
$stmt->fetch();
$stmt->close();