دالة الاتصال بقاعدة البيانات
في هذه المره طريقه أخرى للاتصال بقاعدة البيانات وهي دالة خاصة بالاتصال بقاعدة البيانات .
الكود كالتالي :
انشيء ملف جديد وقم بتسميته اي اسم على سبيل المثال config.php
ثم ضع به الاكواد التالي :
<?php //معلومات قاعدة البيانات
$dbname='database';
$dbuser='root';
$dbpass='';
$dbhost='localhost'; //دالة الاتصال بقاعدة البيانات
function connectdb()
{
global $dbhost,$dbname,$dbuser,$dbpass;
mysql_connect($dbhost,$dbuser,$dbpass)
or die ('couldn't connect to mysql server');
mysql_select_db($dbname)
or die('couldn't select db:$dbname');
} ?>
اعتقد ان الكود ما يحتاج شرح في المتغيرات اللي بالأول خاصه بمعلومات قاعدة البيانات ولكن هناك توضيح بسيط لمن لايعرف لماذا استخدما global في داخل الداله !!
طبعا معروف ان function ( الدوال ) لا تتعرف عن المتغيرات التي بخارجها . مثلا لو عملت متغير اسمه $name وبعدين عملت داله وداخل الداله حاولت تطبع المتغير فلن يطبع شئ لان الداله لن تتعرف عليه .. هذا المتغير الذي هو خارج الداله نوعه [color:b6b8=940306]global يعني عام. اما المتغيرات التي نعملها داخل الداله فاسمها [color:b6b8=940306]local يعني محليه الان نحن نريد الاتصال بالقاعده وعندنا متغيرات وهي الاسم واسم القاعده والباسوورد والسيرفر .. لكن الداله لن تتعرف على هذه المتغيرات لذلك نكتب global واسماء المتغيرات بعدها بمعنى ان يجعل الداله تقرا هذه المتغيرات الخارجيه . جرب بنفسك اعمل داله واعمل قبلها متغير وجرب اطبعه echo داخل الداله فلن يطبع.. وجرب مره اخرى ولكن اعمل global للمتغير فسيتعرف عليه
الان كل مره تريد الاتصال اعمل استدعاء للداله
connectdb();
عند عرض نتائج القاعده:
include('config.php');
connectdb();
$result=mysql_query('select * from TABLE');
while($row=mysql_fetch_assoc($result))
{
$id=$row['id'];
$name=$row['name'];
print '$id --- $name<br>';
}
وتمنياتي للجميع بالتوفيق