МетодPDOЭкземплярный

PDO::prepare() — подготовка SQL-запроса

prepare() создаёт PDOStatement; значения передаются отдельно через execute() или bindValue().

PDO::prepare(string $query, array $options = []): PDOStatement|false

Рабочий пример

<?php
$stmt = $pdo->prepare(
    'SELECT id, name FROM users WHERE email = :email'
);
$stmt->execute(['email' => $email]);
$user = $stmt->fetch();

Именованные параметры

Имена делают длинный запрос читаемее. Не добавляйте двоеточие в ключ массива execute(): в SQL используется :email, а в массиве — email.

Что нельзя параметризовать

Placeholder обозначает только значение. Для ORDER BY, таблицы или имени поля создайте белый список допустимых идентификаторов и выберите один из них до сборки SQL.

Состояние объекта

До execute() statement содержит подготовленную структуру запроса. После выполнения доступны rowCount(), fetch() и errorInfo(), но точное поведение rowCount() для SELECT зависит от драйвера.

Ошибки

Нельзя смешивать позиционные `?` и именованные параметры в одном выражении. Повторное использование одного именованного placeholder также зависит от режима эмуляции и не должно считаться переносимым.

Связанные материалы

Источники и проверка

  • PHP Documentation Group — структурный источник, без внешней ссылки

Последняя содержательная проверка: . Автор-разработчик Михаил Каржин. Методика качества контента.

Данные этого сервиса

Настройки cookie и локальных данных

Аналитика

Текущий статус: не выбран. До согласия обе аналитические системы не загружаются.

Локальные данные

Удаление затрагивает только ключи PHP-сервиса в этом браузере и требует подтверждения.

Политики

Политика конфиденциальности · Политика использования файлов cookie