PDO — единый интерфейс доступа к базам данных
PDO даёт единый объектный API для драйверов баз данных; безопасность запроса зависит от prepared statements и корректных параметров.
new PDO(string $dsn, ?string $username = null, ?string $password = null, ?array $options = null)Безопасное подключение
<?php
$pdo = new PDO($dsn, $user, $password, [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
]);Что даёт PDO
Драйверы используют общий набор методов для подготовки запроса, привязки значений, чтения строк и управления транзакцией. SQL-диалект при этом не становится универсальным: особенности MySQL, PostgreSQL и SQLite остаются.
Граница безопасности
Параметры защищают значения, но не имена таблиц, колонок и направления сортировки. Такие части запроса выбирают из заранее разрешённого списка, а не подставляют из пользовательской строки.
Ошибки соединения
PDOException может содержать детали инфраструктуры. Пользователю показывают нейтральное сообщение, а диагностические данные пишут в закрытый журнал без паролей и DSN-секретов.
Транзакции
Группируйте связанные изменения в транзакцию и выполняйте rollback при исключении. Сначала убедитесь, что выбранный движок таблиц действительно поддерживает транзакции.
Связанные материалы
Источники и проверка
- PHP Documentation Group — структурный источник, без внешней ссылки
Последняя содержательная проверка: . Автор-разработчик Михаил Каржин. Методика качества контента.