15

هل مازلت تستخدم mysql_* و لماذا لم تقم بالتطوير و تستخدم Pdo او mysqli ؟

هل مازلت تستخدم mysql_* و لماذا لم تقم بالتطوير و تستخدم Pdo او mysqli ؟

و اذا كنت تستخدمهم ما هي الافضل لك

Pdo ام Mysqli


15

طبعا PDO أفضل ،

  • تدعم أنواع متعددة من قواعد البيانات.

  • تدعم Exception بشكل جيد بحيث يمكن هندسة الكود بشكل أفضل لاقتناص الأخطاء.

  • تدعم Prepared Statement ، وهي ناحية أمنية ممتازة للتخلص من مشاكل SQL Injection دون الحاجة لفلترتها.

  • بسيطة ، كبساطة المكتبة mysqli.

ولكن لاحظت أن PDO فيها بعض العيوب ، لعل من أهمها :

  • عند محاولتك للحصول على Last Inserted ID ، قد تختلف الآلية من قاعدة بيانات لأخرى.

هذا الرد من فترة طويلة جدا قريته في موقع ستاك اوفرفلو و من يومها استخدم Pdo

The MySQL extension is:

Not under active development
Officially deprecated (as of PHP 5.5. It's likely to be removed in the next major release.)
Lacks an OO interface
Doesn't support:
    Non-blocking, asynchronous queries
    Prepared statements or parameterized queries
    Stored procedures
    Multiple Statements
    Transactions
    All of the functionality in MySQL 5.1

Since it is deprecated, using it makes your code less future proof.

Lack of support for prepared statements is particularly important as they provide a clearer, less error prone method of escaping and quoting external data than manually escaping it with a separate function call.