PDA

View Full Version : سوال: mysqli بهتر است یا pdo؟؟



asma69
شنبه 30 آبان 1394, 23:43 عصر
سلام خسته نباشین..
من قبلال از توابع mysql استفاده میکردم، کم کم به سمت mysqli و شی گرایی رفتم...
جدیدا در مورد pdo مطالبی خوندم و فهمیدم ک pdo هم یک روش جدیده ک دارن همه به این سمت میرن...

من با pdo زیاد آشنایی ندارم و تا الان با mysqli کارمیکردم اما اینطور ک من سرچ کردم و خوندم pdo از 12 نوع پایگاه داده پشتیبانی میکنه و امنیت بالاتری نسبت به mysqli داره ولی از نظر سرعت و کارایی فرقی نداره و حتی ممکنه که mysqli سرعت بیشتری داشته باشه..
با این که تفاوتهاشون رو خوندم اما هنوز به طور کامل نمیدونم ک توی برنامه نویسیم از روش mysqli استفاده کنم بهتره یا pdo ؟؟

به نظرتون اگه استفاده از mysqli رو ادامه بدم، ممکنه که بعدا mysqli هم دیگه استفاده نشه و مجبور باشم بعدا کدهام رو به روش pdo تغییر بدم؟؟؟
ممنون میشم راهنماییم کنید..

hamedarian2009
یک شنبه 01 آذر 1394, 09:20 صبح
امنیت رو که برنامه نویس تعیین میکنه و ارتباطی به هیچکدوم از این توابع نداره اما اگه بهتره از PDO استفاده کنید که اگر احیانا خواستید پایگاه داده برنامتون رو در آینده تغییر بدین بتونید با تغییرات کمی در کدهاتون این کار رو انجام بدین

asma69
یک شنبه 01 آذر 1394, 15:24 عصر
امنیت رو که برنامه نویس تعیین میکنه و ارتباطی به هیچکدوم از این توابع نداره اما اگه بهتره از PDO استفاده کنید که اگر احیانا خواستید پایگاه داده برنامتون رو در آینده تغییر بدین بتونید با تغییرات کمی در کدهاتون این کار رو انجام بدین

ممنون از پاسختون...
من فکر نمیکنم ک در آینده نیاز به تغییر دیتابیسم داشته باشم....چون خودم فقط با mysql اشنا هستم و با این پایگاه داده کارمیکنم..
از طرفی هم دوست دارم با جدیدترین روشی ک الان هست کارکنم....یا با روشی ک اکثر برنامه نویس های بزرگ کار میکنند..
به نظرتون کدوم راه بهتره؟؟ استفاده از mysqli رو ادامه بدم یا برم سراغ روش pdo ؟؟
آیا به نظرتون ممکنه ک چندوقت دیگه mysqli از دور خارج شه و بگن کدها یا هاست و سرور با mysqli جواب نمیده و فقط با روش pdo کارمیکنه؟؟؟

ممنون میشم بیشتر راهنماییم کنید تا بتونم از الان ک اول راه هستم، راه درست تر رو انتخاب کنم ک در آینده به مشکل برنخورم...

hamedarian2009
یک شنبه 01 آذر 1394, 17:27 عصر
از هرکدوم استفاده کنید فرقی نداره

us1234
یک شنبه 01 آذر 1394, 19:23 عصر
همیشه یک کلاس برای کانکشن و کارهای دیتابیس در نظر بگیرد تا به سادگی بتوانید پروژه را به هر نوع دیتابیس سویچ کنید ...

من خودم مستقیم از mysql رفتم pdo و زیاد وقت صرف mysqli نکردم .

تکلیف همه با توابع mysql در پی اچ پی که روشن است و حرفی درش نیست ، برای mysqli و pdo هم در گوگل سرچ کنید :

pdo vs mysqli

تا تفاوتها را ببنید :)

asma69
یک شنبه 01 آذر 1394, 19:59 عصر
همیشه یک کلاس برای کانکشن و کارهای دیتابیس در نظر بگیرد تا به سادگی بتوانید پروژه را به هر نوع دیتابیس سویچ کنید ...

من خودم مستقیم از mysql رفتم pdo و زیاد وقت صرف mysqli نکردم .

تکلیف همه با توابع mysql در پی اچ پی که روشن است و حرفی درش نیست ، برای mysqli و pdo هم در گوگل سرچ کنید :

pdo vs mysqli

تا تفاوتها را ببنید :)


ممنون از پاسخگوییتون..تفاوت هاش رو قبلا به فارسی سرچ زدم و خوندم....
منتها هنوز نمی تونم تصمیم بگیرم ک با کدوم کارکنم..
من خودم الان روی mysqli تسلط دارم ..نحوه استفاده از mysqli جدا از بعضی تغییرات در کل مثل همون mysql هست با این تفاوت ک انتهای توابع i اضافه شده...و به نظرم وقتی با mysql کارکرد کنیم خیلی راحت و سریع میتونیم از توابع mysqli استفاده کنیم و نیاز به صرف وقت نیست...
روی pdo تسلط ندارم و کارنکردم تا حالا...یکم کداش برام نا آشناس...
واسه همون نمیدونم از کدومشون استفاده کنم...
به نظرتون ممکنه در آینده pdo جای mysqli رو بگیره و دیگه توابع mysqli قابل استفاده نباشه؟؟
ممنون

arta.nasiri
یک شنبه 01 آذر 1394, 21:27 عصر
ممنون از پاسخگوییتون..تفاوت هاش رو قبلا به فارسی سرچ زدم و خوندم....
منتها هنوز نمی تونم تصمیم بگیرم ک با کدوم کارکنم..
من خودم الان روی mysqli تسلط دارم ..نحوه استفاده از mysqli جدا از بعضی تغییرات در کل مثل همون mysql هست با این تفاوت ک انتهای توابع i اضافه شده...و به نظرم وقتی با mysql کارکرد کنیم خیلی راحت و سریع میتونیم از توابع mysqli استفاده کنیم و نیاز به صرف وقت نیست...
روی pdo تسلط ندارم و کارنکردم تا حالا...یکم کداش برام نا آشناس...
واسه همون نمیدونم از کدومشون استفاده کنم...
به نظرتون ممکنه در آینده pdo جای mysqli رو بگیره و دیگه توابع mysqli قابل استفاده نباشه؟؟
ممنون

سلام
فعلا تفاوت زیادی نمیکنه از کدوم استفاده کنید و فکر نکنم به این زودیا حداقل تو ۲ ۳ سال آینده mysqli منسوخ بشه. بهتره شما هر ۲ رو یاد بگیرید تا بتونید تصمیم بگیرید هر کدوم کجا بهترین نتیجه رو میدن. همانطور که دوستان فرمودند برای کارهای دیتابیس همیشه یک کلاس در نظر بگیرید و کلیه ارتباطات با دیتابیس رو از طریق همون کلاس انجام بدید تا در آینده اگر تغییری در توابع php ایجاد شد فقط قسمت کوچکی از پروژه بروز بشه.

Unique
دوشنبه 02 آذر 1394, 00:49 صبح
جدیدا در مورد pdo مطالبی خوندم و فهمیدم ک pdo هم یک روش جدیده ک دارن همه به این سمت میرن...
PDO و MYSQLI و MYSQL روش نیستند ! افزونه هستند برای ارتباط با پایگاه های داده ! PDO این قابلیت را به شما میده که با Database های مختلف بر اساس Driver‌های موجود کار کنی. MySqli هم چیزی جز نسخه بهبود یافته mysql نیست. اینکه از کدوم استفاده کنی بسته به خودتون داره. من شخصا mysqli را ترجیح میدم چون سرعت برام مهمتره.

همونطور که us1234 گفت بهرته بیاین و یک کلاس برای خودتون بنویسین و از mysqli یا PDO توی اون کلاس استفاده کنید و هر جا بسته به نیاز و شرایط کلاس مربوط به PDO یا MySQLI را جایگزین کنید. منظورم یک Wrapper Class هست مثل این (https://github.com/joshcam/PHP-MySQLi-Database-Class) !


امنیت بالاتری نسبت به mysqli داره
خیر درست نیست ، کجا چنین چیزی خوندین ؟!


فکر نکنم به این زودیا حداقل تو ۲ ۳ سال آینده mysqli منسوخ بشه.
mysql هم به این زودی ها منسوخ نمیشه ! یعنی ممکنه مثلا توی نسخه ۷ نباشه اما نسخه 5 تا ۵ یا ۷ سال دیگه هم روی هاست ها قرار داده میشه و منسوخ نمیشه. mysqli کاملا قابل اعتماده.

sobhdam
دوشنبه 02 آذر 1394, 22:26 عصر
بهتری از همون pdo استفاده کنی چون یه فریم ورکه و کدهاتو فوق العاده کاهش میده و در بسیاری از موارد مقدارهای ورودی کاربران رو بدون اعتبار سنجی و با امنیت فوق العاده بالا خودش ذخیره میکنه

rezaonline.net
دوشنبه 02 آذر 1394, 22:59 عصر
یادگیری mysqli و نوشتن یک کلاس شخصی شاید 5 ساعت زمان ببره
PDO هم همینطور :)

چرا انقدر بحث رو کش دار میکنید


منتها هنوز نمی تونم تصمیم بگیرم ک با کدوم کارکنم..
من خودم الان روی mysqli تسلط دارم ..نحوه استفاده از mysqli جدا از بعضی تغییرات در کل مثل همون mysql هست با این تفاوت ک انتهای توابع i اضافه شده...و به نظرم وقتی با mysql کارکرد کنیم خیلی راحت و سریع میتونیم از توابع mysqli استفاده کنیم و نیاز به صرف وقت نیست...
روی pdo تسلط ندارم و کارنکردم تا حالا...یکم کداش برام نا آشناس...
واسه همون نمیدونم از کدومشون استفاده کنم...
به نظرتون ممکنه در آینده pdo جای mysqli رو بگیره و دیگه توابع mysqli قابل استفاده نباشه؟؟

جفتشو یاد بگیرید
برنامه نویسید نا سلامتی !!!!

هر برنامه نویس باید هر روز یه چیز جدید یاد بگیریه

Unique
سه شنبه 03 آذر 1394, 02:18 صبح
بهتری از همون pdo استفاده کنی چون یه فریم ورکه
PDO یک Framework نیست ! یک افزونه هست برای ارتباط با پایگاه های داده.

sobhdam
سه شنبه 03 آذر 1394, 07:33 صبح
PDO یک Framework نیست ! یک افزونه هست برای ارتباط با پایگاه های داده.

درسته به صورت افزونه نصب میشه ولی فریم ورک نیز هست چون کارها رو ساده و کوتاه میکنه و شما تا حدودی میتونی بهش فریم ورک نیز بگی

Unique
سه شنبه 03 آذر 1394, 15:06 عصر
دوست عزیز ، شما نمیتونی به هر چیزی بگی Framework ! اگه قرار باشه از خودمون اختراع کنیم که نمیشه. به این میگن Bad Practice یا همون آموزش بد ! این جمله از سایت خود php.net هست !
The PHP Data Objects (PDO) extension defines a lightweight, consistent interface for accessing databases in PHP.
framework یه چیز دیگست و نباید مباحث را با هم قاطی کرد.

asma69
شنبه 14 آذر 1394, 22:26 عصر
از پاسخ همه تشکر میکنم...من تصمیم گرفتم اگه با مشکل مواجه نشم pdo رو کارکنم...