Есть ли такая вещь, как «выполненный» флаг для PDOStatement
(PDOStatement), чтобы увидеть, если оператор был выполнен (вызывая PDOStatement::execute()
)? Или я вынужден просто установить свой собственный флаг?
Судя по документации, флаг, похоже, отсутствует (единственное задокументированное свойство $queryString
) — но я подумал, что все равно спрошу, прежде чем делать это вручную. Преимущественно отличать подготовленные заявления от уже выполненных.
После того, как инструкция подготовлена, вы можете выполнить ее несколько раз, поэтому, возможно, разработчики не подумали, что подобный флаг будет полезен, и лично мне немного любопытно также и ваш вариант использования.
Но это возможно: используя PDOStatement :: ERRORCODE, Вы можете получить код ошибки последнего утверждения. Эта функция будет возвращать пустую строку, когда инструкция еще не выполнена, и будет заполнена кодом ошибки (или 00000
без ошибок), после выполнения оператора.
Нет там нет. Вы можете повторно использовать PDOStatement, который является вариантом использования, поддерживаемым с PDO: подготовка.