Кто как обычно использует PDO для работы с базой? Сам заметил, что многие начинают из простого — подключение и запросы, а потом путаются с подготовленными выражениями и исключениями. Лично мне помогает такой подход: всегда включаю режим исключений (PDO::ERRMODE_EXCEPTION), чтобы легче отлавливать ошибки. Для запросов — всегда использую prepared statements с именованными параметрами, удобней читать и меньше шансов на косяки.
Проверяю, что соединение действительно установлено, чтоб не хлебать фатал ошибок потом. Еще удобно для разных БД использовать опцию ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, чтоб везде возвращались ассоциативные массивы — читается понятней. Варианты: fetchAll, fetch — как надо, можно под себя подстроить.
Да, и не забывайте закрывать соединение, присваивая null PDO-объекту, если в скрипте оно больше не нужно.
Кому что помогает в работе с PDO? Кто придумывал какие крутые "фишки" или обходные пути? Вдруг что-то интересное пропускаю.
Мне кажется, что с подготовленными выражениями иногда проще перебор — если только сложно, зачем напрягаться? Я обычно просто ставлю ERRMODE_EXCEPTION и делаю fetchAll, так проще ловить ошибки и работать с результатами. Насчёт закрытия соединения — вроде и так нормально, когда скрипт заканчивается, оно само закрывается. Про именованные параметры – да, читается лучше, но без фанатизма.