Это означает, что это поможет вам предотвратить атаки с использованием SQL-инъекций, устраняя необходимость вручную заключать в кавычки параметры.
Вместо того, чтобы помещать переменную в sql, вы используете маркер именованного или вопросительного знака, для которого будут подставлены реальные значения при выполнении инструкции.
Определение PDO из руководства по PHP:
«Расширение PHP Data Objects (PDO) определяет легкий согласованный интерфейс для доступа к базам данных в PHP».
См. Руководство php по PDO и PDO :: prepare .
Пример подготовленного оператора с именованными маркерами:
<?php
$pdo = new PDO('pgsql:dbname=example;user=me;password=pass;host=localhost;port=5432');
$sql = "SELECT username, password
FROM users
WHERE username = :username
AND password = :pass";
$sth = $pdo->prepare($sql);
$sth->execute(array(':username' => $_POST['username'], ':pass' => $_POST['password']));
$result = $sth->fetchAll();
Пример подготовленного утверждения с маркерами вопросительного знака:
<?php
$pdo = new PDO('pgsql:dbname=example;user=me;password=pass;host=localhost;port=5432');
$sql = "SELECT username, password
FROM users
WHERE username = ?
AND password = ?";
$sth = $pdo->prepare($sql);
$sth->execute(array($_POST['username'], $_POST['password']));
$result = $sth->fetchAll();