Краткая история. У меня есть класс, который обрабатывает запросы к базе данных, и он вилки в какой-то момент в зависимости от типа инструкции, который был передан ему. Если это был SELECT
, он что-то делает. Если это был (успешно) INSERT
, UPDATE
или DELETE
, он делает что-то еще. Я полагался на PDOStatement::rowCount
, чтобы определить его, и он отлично работал на моей предыдущей системе. Однако после переноса класса на другой сервер изменилось поведение PDOStatement::rowCount
(теперь он возвращает количество строк, возвращаемых оператором SELECT
). Я прочитал в руководстве PHP, что такое поведение может происходить и что оно несовместимо и зависит от базы данных.Определение типа инструкции в PDO
Так что мой вопрос. Есть ли еще один надежный способ определить, какой тип утверждения был передан PDO? Думаю, я мог бы написать метод анализа синтаксиса оператора и добавить его в класс, но, возможно, есть и другой способ (встроенный метод?), И в этом случае я не должен пытаться изобретать колесо. Благодарю.
ищет ключевое слово в запросе, переданного для подготовки заявления? – hjpotter92
Да, это очевидный ответ. Но я просто просил убедиться, что я не буду вставлять винт с помощью плоскогубцев, если рядом со мной есть отвертка. – Avi