Все, что я до сих пор читал о PDO (объектах данных PHP), слишком хорошо, чтобы быть правдой.
Я использую PDO каждый день, и это не случайно.Я действительно написал обертку над этим, потому что экземпляр PDO по умолчанию делает вещи, которые мне не нравятся (например, молча терпят неудачу), и API мог бы быть намного лучше.Конфигурация с константами просто не мой подход по умолчанию.Кроме того, я создал несколько удобных методов.
Это быстрее, чем mysql или mysqli.
Это так?Я не знаю, где вы это взяли, и это вполне может быть правдой, но я не слышал о том, чтобы PDO был быстрее, чем собственные библиотеки MySQL.
Он имеет одинаковый синтаксис для несколькихдрайверы базы данных.
Вроде.Я часто использую PostgreSQL, и код отличается от того, когда вы работаете с MySQL.Это имеет смысл, поскольку PostgreSQL работает с именованными последовательностями, в то время как MySQL работает с «автоматическим приращением», которое представляет собой последовательность для каждой таблицы.Между базами данных есть различия, которые PDO не может абстрагировать, даже если это только для базы данных access .
с подготовленными инструкциями, это безопасно для внедрения SQL.
Вы также можете подготовить операторы с помощью mysqli , поэтому я не вижу в этом определенного преимущества.Хотя я обычно использую подготовленные операторы, и мне нравится: синтаксис: field, который предоставляет PDO.
Но где недостатки PDO, то, что имеет столько плюсов, также должно иметь противоположность.
API менее интуитивен для меня, я думаю, что API mysqli имеет больше смысла.Тем не менее, если вы напишите обертку для нее самостоятельно, это очень приличная библиотека.Вот оболочка, которую я написал , чтобы сделать использование PDO немного более вменяемым, хотя есть еще много примеров, дрейфующих в Интернете.
EDIT : О, и ДжеймсАндерсон прав;у него плохая поддержка Oracle.Я не использую Oracle, поэтому не считаю это огромным недостатком.