Как в PHP PDO защищает от SQL-инъекций? Как работают подготовленные операторы?

Я понимаю, что правильный способ защитить базу данных от SQL-инъекции - использовать подготовленные операторы. Я хотел бы понять , как подготовленные операторы защищают мою базу данных.

Для начала, подготовленные операторы такие же, как " php ':

require_once('Class_DB.php');

class DAO_User {
 private $dbInstance;
 function __construct($dbInstance){
  $this->dbInstance=$dbInstance;
 }
 function createUser($user){
  $dbConnection=$this->dbInstance->createConnexion();
  $query=$dbConnection->prepare("INSERT INTO users (userName, hashedPassword, userEmail) VALUES (?,?,?)");
  $query->bindValue(1, $user->userName);
  $query->bindValue(2, $user->hashedPassword);
  $query->bindValue(3, $user->userEmail);
  $query->execute();
 }
}

Спасибо,

JDelage

13
задан JDelage 28 October 2010 в 12:41
поделиться