• php
  • 2356
  • 20-3-2008
  • في هذه المره طريقه أخرى للاتصال بقاعدة البيانات وهي دالة خاصة بالاتصال بقاعدة البيانات .
    الكود كالتالي :
    انشيء ملف جديد وقم بتسميته اي اسم على سبيل المثال 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=940306]global[/color] يعني عام. اما المتغيرات التي نعملها داخل الداله فاسمها [color=940306]local[/color] يعني محليه الان نحن نريد الاتصال بالقاعده وعندنا متغيرات وهي الاسم واسم القاعده والباسوورد والسيرفر .. لكن الداله لن تتعرف على هذه المتغيرات لذلك نكتب 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>";
    }

    وتمنياتي للجميع بالتوفيق
    كن أول من يقيم الموضوع
    12345