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

الموضوع: شرح دوال Mysqli

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Aug 2007
    المشاركات
    72

    شرح دوال Mysqli



    السلام عليكم ورحمه الله وبركاتة
    بعد اقرار موقع php بحذف دوال mysql
    في الاصدار 5.5
    فتوجب علينا استخدام دوال Mysqli أو PDO

    اليوم راح نشرح Mysqli

    تعريف بـMySQLi :

    هي اختصار لكلمة MySQL Improved
    وهي تعني المكتبة المتطورة من MySQL وهي تعتمد على الـObject Oriented Programming مما يجعل من برمجتك تطور هائل في عمليات ادارة قواعد البيانات بالاضافة الي خصائص جديده متطوره حقاً عن MySQL

    ملاحظة :
    في القواعد بينات mysqli توجد طريقتين للاتصال او الاستعلام من القاعده
    وهي الطريق العادية او بطريقه الكائن object
    احنه هسه راح نشرح طريقه الكائن object لانها افضل واسرع عمليا

    الاتصال بقاعده البيانات :
    كنا في السابق نعمل الاتصال بالقاعده هكذا
    كود PHP:
    <?php

      $con 
    mysql_connect("localhost","root","1234") or die (mysql_error());
      
    $chose_db mysql_select_db("database_name") or die (mysql_error());
    ?>
    فقط كنا نتصل بالسيرفر عن طريق mysql_connect
    وهي تحتوي على ثلاث بارمترات
    ومن ثم نختار القاعده عن طريق mysql_select_db
    وهي تاخذ بارمتر واحد الي هوة اسم القاعده

    الان في mysqli
    فقد تم الاستغناء عن كل هذة واختصارها بسطر واحد يحتوي على اربع بارمترات
    ويتم تشغيلها عن طريق الكائن
    كود PHP:
    <?php
        $db 
    = new mysqli("localhost""root""1234""database_name");
        if(
    $db->connect_error)
        {
          die(
    'Connect Error' $db->connect_error);
        }
    ?>
    سوف نشرح الكود
    اولا:
    قمنا بعمل متغير للكائن الي هوة db
    ومن ثم شغلنا الكائن new وطلبنا mysqli
    واعطيناه اربع بارمترات
    البارمتر الاول : اسم السيرفر الهوست الافتراضي هوة localhost
    البارمتر الثاني : اسم مستخدم القاعده
    البارمتر الثالث : باسورد اسم مستخدم قاعده البيناتات
    البارمتر الرابع : اسم قاعده البينات

    ملاحظة :
    كنا في السابق نسخدم
    كود PHP:
    mysql_CODE 
    CODE : نقصد هنا هوة امر مثال query او connect أو num_rows
    فيصير الكود هكذا
    كود PHP:
    mysql_query();
    mysql_connect();
    mysql_num_rows(); 
    الان هنا في اصدار Mysqli تم تغير طريقه العمل
    قامو بتغير الامر
    كود PHP:
    mysql_ 
    الى
    كود PHP:
    $db-> 
    هنا حيث المتغير db هوة المتغير الي شغلنا به الامر الاتصال بالقاعده
    ومن ثم بعدها
    كود PHP:
    -> 
    فهنا اصبح كائنه كلاس
    اظنكم جميعا تعرفون الكلاس فلو انشئنا كلاس
    كود PHP:
    <?php
    class datab
    {
        public function 
    query()
        {
           echo 
    "هنا الامر";
        }
    }

    ?>
    فلو اردنا تشغيل الكلاس
    نقوم بانشاء متغير ثم نضع يساوي ومن بعدا كلمة new ومن ثمة اسم الكلاس
    كود PHP:
    $class = new datab
    ومن ثمن لو اردنا تشغيل فانكشن query
    نضع اسم المتغير الي شغلنا به الكلاس ومن ثم السهم ومن بعدها اسم الكلاس
    كود PHP:
    $class->query(); 
    اظن هسه فكرة الكائن وتعويضه بدل mysql افتهمنا المعلومة


    الاستعلام من القاعده :
    1- الادخال
    كود PHP:
    <?php
            $insert 
    $db->query("INSERT INTO `tbl_name` ('filed1','filed2') VALUES ('value-filed1','value-filed2')");
     
    ?>
    2- الاختيار من القاعده
    كود PHP:
    <?php
            $result 
    $db->query("select * from tbl_name");
     
    ?>
    عمل fetch_array
    كود PHP:
    <?php
            $result 
    $db->query("select * from tbl_name");
            
    // fetch_array First
            
    $row $result->fetch_array(MYSQLI_NUM);
            echo 
    $row['0'];
            echo 
    $row['1'];
            
    // fetch_array secnd
            
    $row $result->fetch_array(MYSQLI_ASSOC);
            echo 
    $row['username'];
            echo 
    $row['password'];
            
    // fetch_array Third
            
    $row $result->fetch_array(MYSQLI_BOTH);
            echo 
    $row['0'];
            echo 
    $row['username'];
    ?>
    هنا عندما نستخرج البينات من القاعده على شكل مصفوفة جميعها
    تاخذ الامر fetch_array
    عكس mysql التي لها انواع اخرى للاستخراج
    هنا صحيح لها امر واحد هوة fetch_array ولكنها
    سوف تاخذ ثلاثة انواع للاستخراج على شكل مصفوف

    النوع الاول هوة : MYSQL_NUM

    هوة يتم استخراج البينات على شكل مصفوفة ولكن عند طريقه العرض
    نعرض رقم الحقل او الترتيب 0,1,2,3,....الخ
    كود PHP:
    echo $row['0'];
            echo 
    $row['1']; 
    النوع الثاني : MYSQL_ASSOC
    هم يتم استخراج البينات على شكل مصفوفة ولكن طريقه عرضها
    على كتابة اسم احقل Filed1,Filed2,....الخ
    كود PHP:
    echo $row['username'];
            echo 
    $row['password']; 
    النوع الثالث : MYSQL_BOTH
    هنا يتم الاستخراج على شكل مصفوفة ولكن طريقه العرض
    تكون عن طريق كتابه رقم الحقل واسم الحقل
    كود PHP:
    echo $row['0'];
            echo 
    $row['username']; 
    3- الحذف من القاعده
    كود PHP:
    $db->query("DELETE FROM tbl_name WHERE filed='value-filed'"); 
    4- التعديل او تحديث البينات في القاعده
    كود PHP:
     <?php

       $db
    ->query("UPDATE tbl_name SET Filed='value-filed' WHERE 'filed1'='value-filed1'");
     
    ?>
    حساب عدد الحقول او الجداول :
    نحسب عدد الحقول او الجداول عن طريق الدالة num_rows
    كود PHP:
     <?php

       $result 
    $db->query("select * from tbl_name");
       
    $num $result->num_rows;
     
    ?>
    ملاحظة هنا لم نقم بوضع متغير تشغيل الكائن ومن ثم num_rows
    بل قمنا بوضع متغير الاستعلام من القاعده الي هوة result
    حيت اصبحت النتيجه
    كود PHP:
    متغير الاستعلام ->num_rows
    استخدم insert_id :
    هذة الدالة تقوم باستخراج لنا قمية حقل التلقائي الي راح ينزرع بالقاعده
    ويستخدم عاده مع امر الادخال للقاعده
    طريقه الاستخدام
    كود PHP:
    $db->insert_id
    الشرح
    كود PHP:
    متغير الكائن->insert_id
    اغلاق الاتصال close :
    يتم اغلاق الاتصال عن طريق
    كود PHP:
    متغير الكائن->colse(); 
    التطبيق هكذا
    كود PHP:
    $db->close(); 
    الاخطاء Error :
    عندما لاتم تنفيذ العمل او الامر فاننا نحتاج لاظهر الخطأ لكي نعرف ماوع الخطأ في الامر
    ولاظهار الخطأ نكتب
    كود PHP:
     متغير الكائن->error(); 
    التطبيق
    كود PHP:
    $db->error(); 
    الحمد الله كملنا :strongly::strongly:

    ان شاء الله في الايام الثادمه احاول ان اشرح لكم الطريقه العادية







  2. #2
    عضو سوبر نشيط
    تاريخ التسجيل
    Feb 2004
    المشاركات
    627


    مشكور للتوضيح وجاري تحويل جميع السكربتات إلي النظام الجديد بعد خبر وقف الدعم للmysql





    __________________
    اللهم أغفر لنا ولوالدينا وللمؤمنين والمؤمنات والمسلمين والمسلمات
    الأحياء منهم والأموات يا أرحم الراحمين

  3. #3
    عضو نشيط
    تاريخ التسجيل
    Aug 2007
    المشاركات
    72


    بالتوفيق لك اخي الكريم










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

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

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