SPEED 3 NET

Web master tools - programmes - scripts - html code - code css
 
الرئيسيةSpeed Portalمكتبة الصورس .و .جبحـثالأعضاءالمجموعاتدخولالتسجيل

شاطر | 
 

 اختيار قاعدة البيانات وارسال استعلامات للـ Database

اذهب الى الأسفل 
كاتب الموضوعرسالة
khdiwi
ELkInG 3s
ELkInG 3s


عدد المساهماتى : 1994
الجنس : ذكر

مُساهمةموضوع: اختيار قاعدة البيانات وارسال استعلامات للـ Database   الثلاثاء أغسطس 25, 2009 7:06 pm

فى الدرس السابق رأينا كيف نجرى اتصال مع خادم قاعدة البيانات
وكيف نغلق هذا الإتصال.

ونبدأ هذا الدرس بكيفية اختيار قاعدة البيانات التى سيتم التعامل معها

بعد ان نقوم بفتح الإتصال مع خادم قاعدة البيانات

يجب علينا ان نقوم بإختيار قاعدة البيانات التى سيتم التعامل معها

ويكون هذا عن طريق الدالة mysql_select_db

هذه الدالة تأخذ المعطى الأول اسم قاعدة البيانات.
المعطى الثانى اختيارى وهو الـ resource للإتصال بقاعدة البيانات
التى انشائه بواسطة الدالة mysql_connect
اذا لم تقم بتحديد المعطى الثانى, ستعمل الدالة على اخر اتصال تم انشائه ونجح.

وتعود لنا الدالة بـ true اذا تم تحديد قاعدة البيانات بنجاح, او false اذا لم تتمكن الدالة من ايجاد قاعدة البيانات مع رسالة خطأ.

ويتم الأمر بالشكل التالى
كود PHP:

$link = @mysql_connect('localhost', 'root', 'anypass') or die('لم يتم الإتصال');
@mysql_select_db('myDataBase', $link) or die('لم يتم العثور على قاعدة البيانات');



لإجراء استعلام مع قاعدة البيانات.

يتم الأمر بإستخدام الدالة mysql_query
الدالة تأخذ معطيين, الأول هو استعلام بصيغة MySQL (الإستعلام الذى سيتم اجراءه على قاعدة البيانات)
والثانى هو resource الإتصال مع قاعدة البيانات.

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

بمعنى,
1. الإستعلامات مثل SELECT, SHOW, DESCRIBE, EXPLAIN اى الإستعلامات التى يتم اجرائها لتظهر لنا بيانات معينة, تجعل الدالة تعود لنا بـ resource
للـ query هذا الـ resource يتم استخدامه فيما بعد بدوال اخرى.
او تعود لنا بـ false اذا كان هناك خطأ فى صيغة الـ query.
2. تعود الدالة فى حالة الإستعلامات INSERT, UPDATE, DELETE, DROP, الخ
بالقيمة true اذا تم الأمر, او false ان يم يتم.

وفى كل من الطريقتين الدالة تعود بـ false اذا كان المستخدم الموجود بالإتصال ليس له صلاحية التعديل او التعامل مع الجدول الذى نحاول اجراء الإستعلام معه.

اذا كما ترى النوع الاول من الإستعلامات عندما يتم بنجاح يعود لنا بـ resource يتم استخدامه بواسطة دوال اخرى لتنسيق الناتج عن هذا الإستعلام.

لنلقى نظرة اولا على مثال لكتاب الدالة, وبعدها نلقى نظرة على بعض من الدوال التى تتعامل مع هذا الناتج.
(فى الشرح التالى سنفترض انك لديك جدول داخل قاعدة البيانات به الحقول.
id و name و email كما اتمنى انك تكون قد تعلمت بعض الشئ من قسم الماى سكول )

كود PHP:

$link = @mysql_connect('localhost', 'root', 'anypass') or die('لم يتم الإتصال');
@mysql_select_db('myDataBase', $link) or die('لم يتم العثور على قاعدة البيانات');


//كود الإستعلام
$query = "SELECT * FROM `table` WHERE fid > 5 LIMIT 0, 10";

//تشغيل الإستعلام
$result = @mysql_query($query, $link);


فى المثال اعلاه الدالة mysql_query
ستعود لنا بـ resource يحمل ناتج الإستعلام الذى قمنا به, او false اذا كان هناك خطأ.

لنفترض ان الدالة عادة لنا بالـ resource ولم يكن هناك اخطاء.

كيف نستخدم هذا الـ resource ؟

هذا الأمر له طرق كثيرة. او بمعنى اخر له دوال كثيرة. وكل منها يستخدم على حسب احتياجك. لنلقى نظرة على البعض منها.

دالة mysql_fetch_array
هذه الدالة تأخذ معطيين.
الأول هو الـ resource الذى نتج عن دالة mysql_query
والثانى هو علم. على اساس هذا العلم يتم تحديد الناتج الذى يعود من هذه الدالة. (وهى بكل الأحوال تكون مصفوفة)
الأعلام المتوفرة لهذه الدالة هى

MYSQL_ASSOC يجعل الدالة تعود بمصفوفة حرفية, بحيث يكون رقم الفهرس هو اسم الحقل, وقيمته هو محتوى الحقل.

MYSQL_NUM يجعل الدالة تعود بمصفوفة رقمية بحث يكون رقم الفهرس لكل جدول مرتب على حسب ترتيب الجدول فى عملية الـ SELECT و بما اننا حددنا *
سيعتمد ترتيب عناصر المصفوفة على ترتيب الحقول فى الجدول نفسه وهو اسرع طريقة لإستخراج المعلومات.

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



اذا لنعيد المثال السابق ونضيف اليه الدالة mysql_fetch_array
داخل حلقة الدوران while لنطبع كل ماتم استخراجه من قاعدة البيانات.
كود PHP:

$link = @mysql_connect('localhost', 'root', 'anypass') or die('لم يتم الإتصال');
@mysql_select_db('myDataBase', $link) or die('لم يتم العثور على قاعدة البيانات');


//كود الإستعلام
$query = "SELECT * FROM `table` WHERE fid > 5 LIMIT 0, 10";

//تشغيل الإستعلام
$result = mysql_query($query, $link);

//نبدأ جدول عرض البيانات التى تم استخراجها
$output = "<table><tr><td>ID</td><td>Name</td><td>Email</td></tr>";
//نقوم بالدوران داخل البيانات التى تم استخراجها
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)){
$output .= "\n<tr><td>{$row['id']}</td><td>{$row['name']}</td><td>{$row['email']}</td></tr>\n";
}
//نغلق الجدول ونطبعه
$output .= "</table>";
echo $output;


هناك ايضا الدالة mysql_fetch_assoc وهى تعمل نفس عمل الدالة mysql_fetch_array عندما نضع بها العلم MYSQL_ASSOC

اتمنى يكون كل شئ واضح بإذن الله.

واراكم بالدرس المقبل لنكمل حديثنا.
ومن هنا اتمنى ان لا تكمل دورة الـ php الا اذا كنت تعلمت الأساسيات فى دورة MYSQL
حتى يكون كل شئ واضح امامك بإذن الله.
الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
اختيار قاعدة البيانات وارسال استعلامات للـ Database
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» الي كل من يعاني من تستطيب ال Primavera 6 مع الفيستا

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
SPEED 3 NET :: |l|l| Technology ParT|l|l| :: برامج و طرق عمل البرامج-
انتقل الى: