sql >> Base de Datos >  >> RDS >> Mysql

¿Es este un método seguro para insertar datos de formulario en una base de datos MySQL?

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);