El ejemplo que proporcionó inserta las variables de publicación en la base de datos sin analizarlas primero en busca de entradas de usuarios maliciosos. Use conversión de tipos, funciones de escape/filtro, declaraciones preparadas, etc. antes de usarlas para interactuar con su base de datos.
Una regla general a seguir es nunca confiar en la entrada del usuario. ¡NUNCA!
Consulte:La mejor forma de detener la inyección SQL en PHP
En respuesta a su pregunta, así es como manejaría todo el formulario usando declaraciones preparadas de PDO.
$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));
Si solo desea insertar una columna en el registro como solicitó, la sintaxis sería:
$stmt = $db->prepare('INSERT INTO Persons (FirstName) VALUES (:first_name)');
$stmt->execute(':first_name', $first_name);