Ho solo bisogno di assicurarmi di avere le istruzioni di preparazione PDO corrette, il seguente codice sarà protetto da SQL Injection?Estratto preparato PDO, usato correttamente?
$data['username'] = $username;
$data['password'] = $password;
$data['salt'] = $this->generate_salt();
$data['email'] = $email;
$sth = $this->db->prepare("INSERT INTO `user` (username, password, salt, email, created) VALUES (:username, :password, :salt, :email, NOW())");
$sth->execute($data);
Sembra ok. In questo modo sei protetto contro l'iniezione SQL. Questa domanda più qualcosa per codereview quindi StackOverflow. – Arend
Completamente concordato, con @Arend. Pubblicherò un seguito. – Rob
I tasti non richiedono i prefissi dei due punti? Come in '$ data [': username'] = $ username;' Vedere l'esempio 2 in [PDOStatement :: execute()] (http://www.php.net/manual/en/pdostatement.execute.php) –