Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Este é um método seguro para inserir dados de formulário em um banco de dados MySQL?


O exemplo que você forneceu insere os post vars no banco de dados sem primeiro analisá-los para a entrada do usuário mal. Use conversão de tipo, funções de escape/filtro, instruções preparadas etc. antes de usá-las para interagir com seu banco de dados.

Uma regra geral a seguir é nunca confiar na entrada do usuário. SEMPRE!

Confira:Melhor maneira de parar a injeção de SQL em PHP

Em resposta à sua pergunta, aqui está como você lidaria com todo o formulário usando instruções preparadas pelo 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));

Se você quiser apenas inserir uma coluna no registro como você pediu, a sintaxe seria:
$stmt = $db->prepare('INSERT INTO Persons (FirstName) VALUES (:first_name)');

$stmt->execute(':first_name', $first_name);