بسم الله الرحمن الرحيم
الحقيقة .. بينما كنت أحاول اللعب هنا وهناك .. جاءت ببالي المقارنة بين
mysql_fetch_array و mysql_fetch_object
لم الاحظ أي فرق الحقيقة ..
ثم حاولت المقارنة بين
mysql_fetch_array و mysql_fetch_row
لأتفاجأ أن ناتج ال mysql_fetch_row يعتبر اسرع نسبيا ..
الفكرة العملية :
قم يإستدعاء أي حقل لأي جدول عندك .. وضع شرط مثلا where id=1
وقم بعمل mysql_fetch_array
وبعدها :
var_dump
لتجد أن الناتج مصفوفة بها عنصران .. هو نفس العنصر . . ولكن يتم الوصول إليها من خلال مفتاحين .. keys
الأول هو ترتيبه : وهو الزيرو هنا
والآخر وهو الإسم نفسه .. ولنقل انه name
فيمكنك الآن طبع الإسم بطريقتين :
كود PHP:
echo $row[0];
// أو
echo $row['name'];
الآن قم بوضع mysql_fetch_row بدلا من array
وشاهد الفرق ..
لا يمكنك أن تطبع إلا بطريقة واحدة .. وهي الطريقة الثانية بحيث يكون إسم الحقل هو المفتاح أو الترتيب ..
الفكرة :
mysql_fetch_array تقوم بوضع كل عنصر من العناصر المجلوبة .. مرتين .. مرة حسب إسمها ومرة حسب ترتيبها
mysql_fetch_row تقوم بوضع النتائج المجلوبة .. فقط حسب اسمها .. فلو حاولت إستخدام المفتاح العددي int key أو الترتيب الرقمي الطبيعي لطبع أي نتائج مع mysql_fetch_row فلن تجد ..
أعتقد بهذا أن mysql_fetch_row اسرع !!
وفي نفس الوقت .. لا أحد يستخدم التوجيه الرقمي للعنصر حتى يقوم بطبعه .. بل نقوم دوما بإستخدام المفتاح النصي .. والذي هو نفسه اسم الحقل !
ما آرائكم ؟