النتائج 1 إلى 13 من 13

الموضوع: على هامش الأبحاث [ fetch_row أفضل من fetch_array ]

  1. #1
    عضو فعال
    تاريخ التسجيل
    Jul 2003
    المشاركات
    1,576

    على هامش الأبحاث [ fetch_row أفضل من fetch_array ]



    بسم الله الرحمن الرحيم


    الحقيقة .. بينما كنت أحاول اللعب هنا وهناك .. جاءت ببالي المقارنة بين

    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 اسرع !!

    وفي نفس الوقت .. لا أحد يستخدم التوجيه الرقمي للعنصر حتى يقوم بطبعه .. بل نقوم دوما بإستخدام المفتاح النصي .. والذي هو نفسه اسم الحقل !

    ما آرائكم ؟





    __________________
    SWF Thumbnail - tweet me


  2. #2
    عضو فعال جدا
    تاريخ التسجيل
    Feb 2002
    المشاركات
    2,289


    اهلا وسهلا فيك اخوي Egyptechno

    وما زالت النتيجه "أعتقد بهذا أن mysql_fetch_row اسرع !!"


    لا شي محقق ومضمون للان

    شكرا لك بحثك افدتني كثيرا






  3. #3


    الافضل استخدام array

    لاننا نستطيع التعامل مع اسماء الحقول مباشرة بدلاً من الارقام


    صحيح انه ابطأ لكنه الافضل من حيث سهولة التعامل





    __________________
    لا إله إلا أنت سبحانك اني كنت من الظالمين

  4. #4
    عضو فعال
    تاريخ التسجيل
    Jul 2003
    المشاركات
    1,576


    المهمة9 :
    شكرا يا باشا

    ونرجو لو كان لدى أحدكم أي معلومات أخرى .. ليضيفها


    كلاسيك :
    لم تفهم النقطة التي أتحدث عنها .. نحن بالفعل لا نستخدم الأرقام كما قلت ..

    والذي أقوله فوق ان mysql_fetch_array تظهر النتائج بالأرقام + الأسماء

    بينما mysql_fetch_row تظهر فقط النتائج بالأسماء .. ولهذا استنتجت انها اسرع !





    __________________
    SWF Thumbnail - tweet me

  5. #5
    عضو فعال
    تاريخ التسجيل
    Jul 2003
    المشاركات
    1,576


    أوف أوف ..

    معلومة جديدة !!

    mysql_fetch_array لها باراميتر آخر :
    كود PHP:
    while($row mysql_fetch_array($queryMYSQL_BOTH)){ 
    بهذا الشكل تعرض الحقول بالأرقام + الأسماء

    كود PHP:
    while($row mysql_fetch_array($queryMYSQL_ASSOC)){ 
    وبهذا تعرض الأسماء


    كود PHP:
    while($row mysql_fetch_array($queryMYSQL_NUM)){ 
    وهكذا تعرض الأرقام فقط ..








    __________________
    SWF Thumbnail - tweet me



  6. Egyptechno
    لو تاخرت قليلاً لكنت رديت بنفس الاجابه ..
    ولكن انا انسان كسول .. فيوجد للداله ()mysql_fetch_array اختصار ... ولكن اختصار بسيط نوعاً ما..
    MYSQL_ASSOC = 1
    و
    MYSQL_NUM = 2

    يعني ممكن كتابه الداله كالتالي (mysql_fetch_array($query,2 للاختصار ,,





    __________________
    هلابي افضل المواقع العربية تصميماً
    انصح باستخدام ابونتو

  7. #7
    عضو فعال
    تاريخ التسجيل
    Jul 2003
    المشاركات
    1,576


    hilaby :

    حلبي باشا .. كنت مستني ردك


    بالفعل .. الواحد بس لو يعقل شوية ويركز شوية في المانيوال





    __________________
    SWF Thumbnail - tweet me

  8. #8
    عضو نشيط
    تاريخ التسجيل
    Jan 2005
    المشاركات
    169


    فيه دالة أخرى تشبه دالة
    كود PHP:
    mysql_fetch_array 
    وهي
    كود PHP:
    mysql_fetch_assoc 
    * الفرق الوحيد أن الأخيرة مافيه داعي تمرر لها أي باراميتر إضافي، فيمكنك إستدعاء النتائج بالأرقام أو الأسماء ..






  9. #9
    عضو نشيط جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    364


    في البداية كنت استخدم mysql_fetch_array

    لكن في الفترة الأخيرة توجهت إلى استخدام mysql_fetch_object لأنها برأيي الشخصي اسرع وأفضل من حيث الأداء والاستخدام ..

    لا ادري ما رأي الآخرين بهذا .....





    __________________
    الخدمات البرمجية
    تعديلات برمجية - تطوير برمجيات جاهزة - صيانة قواعد بيانات
    برمجة خاصة (الأولوية للأفكار الجديدة والخاصة)

    المراسلة : http://it.rewaq.com

  10. #10
    عضو نشيط جدا
    تاريخ التسجيل
    Nov 2003
    المشاركات
    461


    انا استخدم الدالة mysql_fetch_array دائما

    والذي يريحني اكثر معها اني اتعامل بدوال mysql من خلال كائن وبالتالي اعمل القيمة الافتراضية للباراميتر الثاني هو MYSQL_ASSOC



    للاسف فترة اختبارات وانا داخل "تهريب" من جدول الدراسة

    لكان شاركتكم في البعكشات المفيدة :nice:







    __________________
    AlwatanVoice, www.alwatanvoice.com
    Almashroo, www.almashroo.com

    Pal Coder == Palestinian Coder

  11. #11
    عضو فعال
    تاريخ التسجيل
    Jul 2003
    المشاركات
    1,576


    القائد :

    بالفعل .. كنت سأنوه عن هذه الدالة ..

    إنها تقوم بنفس عمل ال mysql_fetch_array ولكن بالأسماء فقط مباشرة .. أو associative array


    شكرا لك


    Pal Coder :


    اجمل شيء طبعا استخدام الكائن .. مريح وسهل وحليوة خالص

    روح إلحق إمتحاناتك :nice:





    __________________
    SWF Thumbnail - tweet me

  12. #12
    عضو فعال
    تاريخ التسجيل
    Nov 2005
    المشاركات
    1,283




    معلومات مفيدة جداً وفعلاً حاتفيدنى لانى زيكم بستخدم الاسماء ما بستخدم الأرقام

    و ان شاء الله يوم 8/6 (اول يوم فى الأجازة ) تبدأ التجارب

    مش معاك يا أحمد ما تخفش





    __________________
    سبحان الله وبحمده ... سبحان الله العظيم.
    إقرأ .. لتتعلم
    [AJAX] سكربت إتصل بنا (ديف كونتاكت) النسخة 2.3.2
    للتواصل ..

  13. #13


    كنت رح ارد بكل المعلومات تقريباً ، لكن وقتي ما بسمحلي للأسف

    شكراً لكم جميعاً عالمعلومات وأتمنى انكم ترتبوها عشان أي واحد يدخل يفهم ..

    والدوال كلها تعمل نفس العمل باختلاف بسيط ..

    تحياتي لكم وشكراً مرة أخرى





    __________________
    أحمد أبو النصر
    Junior php Developer
    +20166196074





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض