Het voorbeeld dat je hebt gegeven, voegt de post-vars in de database in zonder ze eerst te analyseren op slechte gebruikersinvoer. Gebruik typecasting, escape-/filterfuncties, voorbereide instructies enz. voordat u ze gebruikt om met uw DB te communiceren.
Een algemene regel is om gebruikersinvoer nooit te vertrouwen. OOIT!
Bekijk:Beste manier om SQL-injectie te stoppen in PHP
In antwoord op uw vraag, hier is hoe u het volledige formulier zou behandelen met behulp van door de BOB opgestelde verklaringen.
$stmt = $db->prepare('INSERT INTO Persons (FirstName, LastName, Age) VALUES (:first_name, :last_name, :age)');
$stmt->execute(array(':first_name' => $first_name,':last_name' => $last_name, ':age' => $age));
Als u slechts één kolom in de record wilt invoegen zoals u gevraagd heeft, zou de syntaxis zijn:
$stmt = $db->prepare('INSERT INTO Persons (FirstName) VALUES (:first_name)');
$stmt->execute(':first_name', $first_name);