نخبة المبدعين - N5ba.com نخبة المبدعين - N5ba.com نخبة المبدعين - N5ba.com نخبة المبدعين - N5ba.com نخبة المبدعين - N5ba.com نخبة المبدعين - N5ba.com نخبة المبدعين - N5ba.com نخبة المبدعين - N5ba.com نخبة المبدعين - N5ba.com نخبة المبدعين - N5ba.com نخبة المبدعين - N5ba.com نخبة المبدعين - N5ba.com


( رب اشرح لي صدري ويسر لي أمري واحلل عقدة من لساني يفقهوا قولي )

,,,انت الان تقرأ في منتدى ,,
نخبة المبدعين - N5ba.com
,, نبدء باسم الله ,,

,, موضوعي اليوم يتحدث عن ,,
,, مقارنة بين MySQLi و PDO ,,
كل حد متخصص في لغات الويب لازم يعرف لغات ..
HTML .. CSS .. PHP .. MySQL


ماهي الMySQL ببساطه .

هي عبارة عن مجموعة دوال mysql محسنة و مطورة لتصبح ذات اداء و فعالية أكبر , و الاسم Mysqli ينطبيق على هذا المعنى mysql improved .

وماهي PDO .
PDO اختصار لكلمه ..
PHP Data Objects
وهي اضافه للبي اتش بي بتسهل موضوع التعامل مع قواعد البيانات و بتتسمي بالانجليزي database abstraction layer .

الان عرفنا ايه هو MySQL or PDO .
باجي لموضوعي اليوم .
المذكور في العنوان
مقارنة بين MySQLi و PDO
ومن الافضل ولماذا .


: مقارنة بسيطة :

اولاً
دعم قواعد البيانات :
PDO : تدعم 12 نوع مختلف.
MySQLi : تدعم الMySQL فقط .

طريقة التعامل :
PDO : كلاس الPDO
MySQLi : كلاس الMySQLi أو دوال الMySQLi


السرعة :
PDO : سريعة.
MySQLi : سريعة .



ثانيًا
: مقارنة دقيقة مع امثلة :

طريقة الاتصال بقاعدة البيانات :

كود:

// PDO $pdo = new PDO("mysql:host=localhost;dbname=database", 'username', 'password'); // mysqli, عن طريق الدوال $mysqli = mysqli_connect('localhost','username','password',' database'); // mysqli, عن طريق الكلاس $mysqli = new mysqli('localhost','username','password','database ');

الاستعلام و جلب النتائج :

كود:

$query = "SELECT * FROM users"; // PDO $result = $pdo->query($query); while ($user = $result->fetch(PDO::FETCH_CLASS)) { // echo $user->Here a column; } // MySQLI, عن طريق الدوال if ($result = mysqli_query($mysqli, $query)) { while ($user = mysqli_fetch_object($result, 'User')) { // echo $user->Here a column; } } // MySQLi, عن طريق الكلاس if ($result = $mysqli->query($query)) { while ($user = $result->fetch_object('User')) { // echo $user->Here a column; } }

الحماية :

كود:

// PDO, escaping $username = PDO::quote($_GET['username']); $pdo->query("SELECT * FROM users WHERE username = $username"); // mysqli, escaping $username = mysqli_real_escape_string($_GET['username']); $mysqli->query("SELECT * FROM users WHERE username = '$username'");




الPDO احسن . لكن طبعًا مو معناه ان الMySQLi ضعيفة ، تقدر تستخدمها وهي سهله جدًا ، هم الاتنين قريبين جدًا من بعض ، و شكرًأ .