لديك حساب بالفعل؟ دخول
دخول  سجل الأن 
متي وكيف استخدام داله mysql_free_result
السلام عليكم ورحمه الله وبركاته ،،
حيرني موضوع داله mysql_free_result
فعندما استخدمه علي كل اوامر القاعده
mysql_query()
يقوم الموقع بانشاء لي ملف باسم .error
يعرض لي اخطا ناتجه عن هذه الداله ..

ياريت ياشباب هل استخدامها هذا هو الطريقه الصحيحه
ام لها استخدام اخر او بطريقه اخري ؟

مشكويرن مقدما
تاريخ البداية: 15 / يناير / 2012 الساعة 21:52 اخر نشاط: 25 / يناير / 2012 الساعة 12:19 php
2 إجابات
mysql_free_result او unset لا تقوم بإغلاق الاتصال ... عليك ان تستخدم mysql_close لاغلاق الاتصال بقاعدة البينات .
ينصح استخدام mysql_pconnect وعدم اغلاق الاتصال حتى يتم استخدامه اكثر من مره.

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

unset تقوم بإزلة المتغير المعطى سواء كان متغير عادي او خاصية لكائن ... وهو لا ينفع لحذف عائد استعلام اطلاقا .

بواسطة: molhm
منذ: 25 / يناير / 2012 الساعة 12:19

تستخدم هكذا مثلا

<?php
  $result = mysql_query("select * from table1");
  mysql_free_result($result);
?>

وظيفتها : تحرير ( أي تفريغ ) كل البيانات من الذاكره نحتاج الى هذه الداله عندما نستعلم عن أشياء كثيره ولا نريد ضغط الذاكره لدينا ففي نهاية كل برنامج نضع هذه الداله لتحرير الذاكره من البيانات التي تم الاستعلام عنها و نضيف الى ذلك أيضاً الدالة تستخدم لتفريغ الذاكرة من نتيجة الاستعلام بعد انتهاء الحاجة اليها هكذا
<?php
 $result = mysql_query("SELECT `num` FROM `post` WHERE `id` = 44521");
$post_num = mysql_fetch_array($result);
// هنا انتهت الحاجة الى المتغير $result
// فيجب علينا تفريغه لاخلاء الذاكرة منه وبالتالي التأثير على سرعة السكريبت
mysql_free_result($result);
echo "عدد المشاركات:" . $post_num['num']; 
?>
وهي تشبه الدالة unset الفرق بينهما فقط هو أن الدالة unset تُستخدم لأي متغير سواء كان نصي او رقمي أو كائن، أما الدالة mysql_free_result فتُستخدم فقط للمتغيرات التي تحتوي نتائج الاستعلامات مثال آخر
query = @mysql_query("SELECT id FROM gallery ORDER BY id ASC") or die ("<br />Errors 1");
while($row = mysql_fetch_array($query)) {
extract($row);
echo "
<a href='$PHP_SELF?do=2&id=$id'>( $id )</a>
";
//استخدمتها داخل جملة التكرار while لم تعمل حيث تم إلغاء بعض النتائج
mysql_free_result($query);
}
//استخدمتها خارج جملة التكرار while تم عرض النتائج بشكل صحيح
mysql_free_result($query); 



اللهم انفعني بما علمتني وعلمني ما ينفعني وزدني علمًا

بواسطة: Imad
منذ: 16 / يناير / 2012 الساعة 1:3

شرح ممتاز
16 / يناير / 2012 الساعة 11:20

أنشر اجابتك

xهل تريد الاجابة عن هذا السؤال؟ من فضلك سجل دخول او اشترك لتتمكن من الاجابة