تطوير ويب » تطوير وحماية السيرفرات » شرح دوال Mysqli
بسم الله الرحمن الرحيم
السلام عليكم ورحمة ورحمة الله وبركاته
بعد اقرار موقع php بحذف دوال mysql
في الاصدار 5.5
فتوجب علينا استخدام دوال Mysqli أو PDO
اليوم راح نشرح Mysqli
تعريف بـMySQLi :
هي اختصار لكلمة MySQL Improved
وهي تعني المكتبة المتطورة من MySQL وهي تعتمد على الـObject Oriented Programming مما يجعل من برمجتك تطور هائل في عمليات ادارة قواعد البيانات بالاضافة الي خصائص جديده متطوره حقاً عن MySQL
ملاحظة :
في القواعد بينات mysqli توجد طريقتين للاتصال او الاستعلام من القاعده
وهي الطريق العادية او بطريقه الكائن object
احنه هسه راح نشرح طريقه الكائن object لانها افضل واسرع عمليا
الاتصال بقاعده البيانات :
كنا في السابق نعمل الاتصال بالقاعده هكذا
في الاصدار 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
فقد تم الاستغناء عن كل هذة واختصارها بسطر واحد يحتوي على اربع بارمترات
ويتم تشغيلها عن طريق الكائن
وهي تحتوي على ثلاث بارمترات
ومن ثم نختار القاعده عن طريق 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
البارمتر الثاني : اسم مستخدم القاعده
البارمتر الثالث : باسورد اسم مستخدم قاعده البيناتات
البارمتر الرابع : اسم قاعده البينات
ملاحظة :
كنا في السابق نسخدم
CODE : نقصد هنا هوة امر مثال query او connect أو num_rows
فيصير الكود هكذا
اولا:
قمنا بعمل متغير للكائن الي هوة db
ومن ثم شغلنا الكائن new وطلبنا mysqli
واعطيناه اربع بارمترات
البارمتر الاول : اسم السيرفر الهوست الافتراضي هوة localhost
البارمتر الثاني : اسم مستخدم القاعده
البارمتر الثالث : باسورد اسم مستخدم قاعده البيناتات
البارمتر الرابع : اسم قاعده البينات
ملاحظة :
كنا في السابق نسخدم
رمز PHP:
mysql_CODE
فيصير الكود هكذا
رمز PHP:
mysql_query();mysql_connect();mysql_num_rows();
الان هنا في اصدار Mysqli تم تغير طريقه العمل
قامو بتغير الامر
الى
ومن ثم بعدها
فهنا اصبح كائنه كلاس
اظنكم جميعا تعرفون الكلاس فلو انشئنا كلاس
نقوم بانشاء متغير ثم نضع يساوي ومن بعدا كلمة new ومن ثمة اسم الكلاس
قامو بتغير الامر
رمز PHP:
mysql_
رمز PHP:
هنا حيث المتغير db هوة المتغير الي شغلنا به الامر الاتصال بالقاعده
$db->
ومن ثم بعدها
رمز PHP:
->
اظنكم جميعا تعرفون الكلاس فلو انشئنا كلاس
رمز PHP:
?phpclass datab{
<
public function query()
{
echo "هنا الامر";
}
}?>
فلو اردنا تشغيل الكلاس
رمز PHP:
$class = new datab;
ومن ثمن لو اردنا تشغيل فانكشن query
نضع اسم المتغير الي شغلنا به الكلاس ومن ثم السهم ومن بعدها اسم الكلاس
نضع اسم المتغير الي شغلنا به الكلاس ومن ثم السهم ومن بعدها اسم الكلاس
رمز PHP:
$class->query();
اظن هسه فكرة الكائن وتعويضه بدل mysql افتهمنا المعلومة
الاستعلام من القاعده :
1- الادخال
2- الاختيار من القاعده
عمل fetch_array
الاستعلام من القاعده :
1- الادخال
رمز PHP:
<?php
$insert = $db->query("INSERT INTO `tbl_name` ('filed1','filed2') VALUES ('value-filed1','value-filed2')");
?>
رمز PHP:
?php
<
$result = $db->query("select * from tbl_name");
?>
رمز PHP:
هنا عندما نستخرج البينات من القاعده على شكل مصفوفة جميعها
تاخذ الامر fetch_array
عكس mysql التي لها انواع اخرى للاستخراج
هنا صحيح لها امر واحد هوة fetch_array ولكنها
سوف تاخذ ثلاثة انواع للاستخراج على شكل مصفوف
النوع الاول هوة : MYSQL_NUM
هوة يتم استخراج البينات على شكل مصفوفة ولكن عند طريقه العرض
نعرض رقم الحقل او الترتيب 0,1,2,3,....الخ
?php
<
$result = $db->query("select * from tbl_name");
// fetch_array First
$row = $db->fetch_array(MYSQLI_NUM);
echo $row['0'];
echo $row['1'];
// fetch_array secnd
$row = $db->fetch_array(MYSQLI_ASSOC);
echo $row['username'];
echo $row['password'];
// fetch_array Third
$row = $db->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,....الخ
هم يتم استخراج البينات على شكل مصفوفة ولكن طريقه عرضها
على كتابة اسم احقل Filed1,Filed2,....الخ
رمز PHP:
echo $row['username'];
echo $row['password'];
النوع الثالث : MYSQL_BOTH
هنا يتم الاستخراج على شكل مصفوفة ولكن طريقه العرض
تكون عن طريق كتابه رقم الحقل واسم الحقل
هنا يتم الاستخراج على شكل مصفوفة ولكن طريقه العرض
تكون عن طريق كتابه رقم الحقل واسم الحقل
رمز PHP:
echo $row['0'];
echo $row['username'];
3 - الحذف من القاعده
حساب عدد الحقول او الجداول :
نحسب عدد الحقول او الجداول عن طريق الدالة num_rows
ملاحظة هنا لم نقم بوضع متغير تشغيل الكائن ومن ثم num_rows
بل قمنا بوضع متغير الاستعلام من القاعده الي هوة result
حيت اصبحت النتيجه
استخدم insert_id :
هذة الدالة تقوم باستخراج لنا قمية حقل التلقائي الي راح ينزرع بالقاعده
ويستخدم عاده مع امر الادخال للقاعده
طريقه الاستخدام
رمز 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;
?>
بل قمنا بوضع متغير الاستعلام من القاعده الي هوة result
حيت اصبحت النتيجه
رمز PHP:
متغير الاستعلام ->num_rows;
هذة الدالة تقوم باستخراج لنا قمية حقل التلقائي الي راح ينزرع بالقاعده
ويستخدم عاده مع امر الادخال للقاعده
طريقه الاستخدام
رمز PHP:
$db->insert_id;
الشرح
اغلاق الاتصال close :
يتم اغلاق الاتصال عن طريق
التطبيق هكذا
الاخطاء Error :
عندما لاتم تنفيذ العمل او الامر فاننا نحتاج لاظهر الخطأ لكي نعرف ماوع الخطأ في الامر
ولاظهار الخطأ نكتب
رمز PHP:
متغير الكائن->insert_id;
يتم اغلاق الاتصال عن طريق
رمز PHP:
متغير الكائن->colse();
رمز PHP:
$db->close();
عندما لاتم تنفيذ العمل او الامر فاننا نحتاج لاظهر الخطأ لكي نعرف ماوع الخطأ في الامر
ولاظهار الخطأ نكتب
رمز PHP:
متغير الكائن->error();
التطبيق
رمز PHP:
$db->error();
اتمنى اكون وفقت فى شرح هذا الدرس بطريقة مبسطه ، فان اصبت فمن الله وان أخطأت فمن نفسي والشيطان .
وانتظروني مع المفاجئات القادمه باذن الله راح تعجب
أصدقاء(تطوير ويب)
0تعليقات Blogger
لا توجد تعليقات على موضوع "شرح دوال Mysqli"
إرسال تعليق
التعليقات متاحه لمستخدمي حساب جوجل فقط.ولاضافة كود: أستعن بهذه الأداة السريعة Encode/HTML .