Подготовленные запросы: SQL разбирается один раз, параметры подставляются безопасно. Защита от SQL-инъекций (параметры не интерпретируются как SQL). Плюс возможность переиспользования плана выполнения (кеш планов).
$stmt = $pdo->prepare('SELECT * FROM users WHERE id = ?');
$stmt->execute([$id]);
// или именованные: WHERE id = :id, execute(['id' => $id])Никогда не подставлять пользовательский ввод в строку запроса - только через плейсхолдеры.