نخبة المبدعين - 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 ضعيفة ، تقدر تستخدمها وهي سهله جدًا ، هم الاتنين قريبين جدًا من بعض ، و شكرًأ .