Как проверить добавление в базу в PDO?
По какой-то причне новички этот вопрос задают постоянно.
Но при этом никто не может ответить, ПОЧЕМУ надо проверять успешность вставки.
Только чтобы написать сакраментальную фразу 'Ошибка при регистрации'?
Ну то есть, понятно, что в мануале из прошлого века был код -1 !== mysql_affected_rows(), и его надо обязательно перетащить в новый проект. Но надо иногда задумываься - какой смысл в тех действиях, которые ты совершаешь. Какой юзкейс должен привести к необходимости такой ошибки. И как надо по-человечески её обрабатывать.
Дя тех, кто хочет жить в XXI веке, а не застрять навечно в XX, несколько пояснений:
1. Проверять результат работы функций PDO не нужно никогда.
2. Если хочется вывести сообщение типа "что-то сломалось", надо это не писать после каждой функции, а делать ЦЕНТРАЛИЗОВАННО, в error handler-e
3. Если хочется проверить одну-единственную ошибку, про которую заранее известно, и есть понимание того, как её надо обрабатывать - можно использовать try-catch.
Всё. Кроме этих трёх пунктов никаких проверок на успешность вставки быть не должно