هل مازلت تستخدم mysql_* و لماذا لم تقم بالتطوير و تستخدم Pdo او mysqli ؟
و اذا كنت تستخدمهم ما هي الافضل لك
Pdo ام Mysqli
طبعا PDO أفضل ،
تدعم أنواع متعددة من قواعد البيانات.
تدعم Exception بشكل جيد بحيث يمكن هندسة الكود بشكل أفضل لاقتناص الأخطاء.
تدعم Prepared Statement ، وهي ناحية أمنية ممتازة للتخلص من مشاكل SQL Injection دون الحاجة لفلترتها.
بسيطة ، كبساطة المكتبة mysqli.
ولكن لاحظت أن PDO فيها بعض العيوب ، لعل من أهمها :
هذا الرد من فترة طويلة جدا قريته في موقع ستاك اوفرفلو و من يومها استخدم 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.
لم أعد أستخدم دوال mysql القديمة في بناء أي تطبيقات حالية , وأقوم بإستخدام mysqli و PDO نظراً لعدة أسباب :
أولاً : بسبب بعض الإحتياطات الأمنية والتنبيهات الكثيرة التي تجدها في كافة أمثلة موقع php.net عن التعامل مع قواعد البيانات سوف تجد هذه الجملة شائعة جداً : Please, do not use the mysql extension for new developments.
ثانياً : دعم البرمجة الكائنية OOP .
شخصياً أفضل استخدام PDO مع قواعد بيانات SQLite , و mysqli مع قواعد بيانات MySQL
ما زلت استخدم mysql لكنني سأتخلى عنها قريباً لصالح mysqli.
مكتبة PDO ضخمة و تدعم الكثير من قواعد البيانات التي لا احتاجها.
لذلك ارجح mysqli كبديل عن mysql
التعليقات