Пропуски Junior Сессии и безопасность обновлено

Подготовленный запрос PDO

Вопрос

Допишите безопасный запрос.

$stmt = $pdo->__(1)__('SELECT id, name FROM users WHERE email = :email');
$stmt->__(2)__(['email' => $email]);
$user = $stmt->fetch(PDO::FETCH_ASSOC);

Попробуйте сами

Заполните пропуски по номерам.

1
2
Показать ответ и разбор

Коротко

prepare отправляет текст запроса с плейсхолдерами, execute передаёт значения отдельно. Для настоящих серверных подготовленных запросов в MySQL ставят PDO::ATTREMULATEPREPARES = false, но и эмуляция корректно экранирует значения.

Что в пропусках

1

prepare

2

execute

Разбор

prepare отправляет текст запроса с плейсхолдерами, execute передаёт значения отдельно. Для настоящих серверных подготовленных запросов в MySQL ставят PDO::ATTR_EMULATE_PREPARES => false, но и эмуляция корректно экранирует значения.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.