Важным моментом при использовании PDO является:
PDO будет очищать его только для SQL, а не для вашего приложения.
Так что да, для записей, таких как INSERT или UPDATE, особенно важно сначала фильтровать ваши данные и очищать их для других целей (удаление тегов HTML, JavaScript и т. Д.).
<?php
$pdo = new PDO(...);
$stmt = $pdo->prepare('UPDATE users SET name = :name WHERE id = :id');
$id = filter_input(INPUT_GET, 'id', FILTER_SANITIZE_NUMBER_INT); // <-- filter your data first
$name = filter_input(INPUT_GET, 'name', FILTER_SANITIZE_STRING); // <-- filter your data first
$stmt->bindParam(':id', $id, PDO::PARAM_INT); // <-- Automatically sanitized for SQL by PDO
$stmt->bindParam(':name', $name, PDO::PARAM_STR); // <-- Automatically sanitized for SQL by PDO
$stmt->execute();
Без очистки пользовательского ввода хакер мог бы сохранить некоторый javascript в вашей базе данных, а затем, при выводе его на ваш сайт, вы бы подвергались угрозе!
http://www.phptherightway.com/#pdo_extension