تور لحظه آخری
امروز : شنبه ، 8 اردیبهشت 1403    احادیث و روایات:  امام موسی کاظم (ع):هر که می خواهد که قویترین مردم باشد بر خدا توکل نماید .
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

بلومبارد

تبلیغات متنی

تریدینگ ویو

خرید اکانت اسپاتیفای

کاشت ابرو

لمینت دندان

ونداد کولر

لیست قیمت گوشی شیائومی

صرافی ارکی چنج

صرافی rkchange

دانلود سریال سووشون

دانلود فیلم

ناب مووی

تعمیر گیربکس اتوماتیک

دیزل ژنراتور موتور سازان

سرور اختصاصی ایران

سایت ایمالز

تور دبی

سایبان ماشین

جملات زیبا

دزدگیر منزل

ماربل شیت

تشریفات روناک

آموزش آرایشگری رایگان

طراحی سایت تهران سایت

آموزشگاه زبان

اجاره سند در شیراز

ترازوی آزمایشگاهی

رنگ استخری

فروش اقساطی کوییک

راهبند تبریز

ترازوی آزمایشگاهی

قطعات لیفتراک

وکیل تبریز

خرید اجاق گاز رومیزی

آموزش ارز دیجیتال در تهران

شاپیفای چیست

فروش اقساطی ایران خودرو

واردات از چین

قیمت نردبان تاشو

وکیل کرج

تعمیرات مک بوک

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

سیسمونی نوزاد

پراپ تریدینگ معتبر ایرانی

نهال گردو

صنعت نواز

پیچ و مهره

خرید اکانت اسپاتیفای

صنعت نواز

لوله پلی اتیلن

کرم ضد آفتاب لاکچری کوین SPF50

دانلود آهنگ

طراحی کاتالوگ فوری

واردات از چین

اجاره کولر

دفتر شکرگزاری

تسکین فوری درد بواسیر

دانلود کتاب صوتی

تعمیرات مک بوک

 






آمار وبسایت

 تعداد کل بازدیدها : 1798171877




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

فرق بین mysql_fetch_row و mysql_affected_rows در پراسس


واضح آرشیو وب فارسی:سایت ریسک: View Full Version : فرق بین mysql_fetch_row و mysql_affected_rows در پراسس zibatarin nam27-01-2009, 08:28 PMسوال همه چیرو میرسونه ولی یه توضیح هم میدم این دو تابع روی سرور کدومشون بیشترین پراسس رو دارن. neopersia28-01-2009, 12:05 AMداوود جان گمونم سوء تفاهم شده! :31: این دو تا ربطی به هم ندارن که بشه مقایسه کرد. اولی میاد داده های اون سطری از ریسورس استخراج شده از دیتابیس رو که پویینتر در اون سطره به صورت یک آرایه بر میگردونه دومی هم تعداد سطرهای دیتابیس رو که آخرین کوئری فرستاده شده به دیتابیس روی اونا اثر گذاشته بر میگردونه neopersia28-01-2009, 12:05 AMداوود جان گمونم سوء تفاهم شده! :31: این دو تا ربطی به هم ندارن که بشه مقایسه کرد. اولی میاد داده های اون سطری از ریسورس استخراج شده از دیتابیس رو که پویینتر در اون سطره به صورت یک آرایه بر میگردونه دومی هم تعداد سطرهای دیتابیس رو که آخرین کوئری فرستاده شده به دیتابیس روی اونا اثر گذاشته بر میگردونه zibatarin nam28-01-2009, 07:36 AMداوود جان گمونم سوء تفاهم شده! http://forum.p30world.com/images/New-smile/N_aggressive%20%284%29.gif این دو تا ربطی به هم ندارن که بشه مقایسه کرد. اولی میاد داده های اون سطری از ریسورس استخراج شده از دیتابیس رو که پویینتر در اون سطره به صورت یک آرایه بر میگردونه دومی هم تعداد سطرهای دیتابیس رو که آخرین کوئری فرستاده شده به دیتابیس روی اونا اثر گذاشته بر میگردونه ممنون نه بابا سوء تفاهم کیلو چنده :دی میدونم هیچ ربطی به هم ندارن ولی تو یه جایی مثل هم کار میکنن مثل فهمیدن اینکه آیا کوئری گرقته شده خروجی داشته یا نه(خروجیش یدونه باشه نه آرایه چندتایی مثل سیستم ثبت نام کاربران برای فهمیدن اینکه کاربری با این نام ثبت شده یا نه) خودم فکر میکنم mysql_fetch_row بیشتراز اون یکی پراسس داشته باشه (نمیدونم نظر شما چیه) neopersia28-01-2009, 11:49 PMنه دیگه اینا فقط تو یه مورد میتونن با هم مشابه باشن (از نظر کاربرد) اونم برای مشخص کردن تعداد سطری هست که اینسرت میشه وگرنه تو بقیه موارد نمیشه تعداد سطر رو از fetch_row مشخص کرد (اگرم بشه مثلاً با سلکت کردن اون موقع دیگه affected_rows مقداری رو برنمیگردونه) توی دلیت و آپدیت هم که تعداد سطر رو فقط با affected_rows میشه مشخص کرد نه با شمردن خروجی! چون اصلاً خروجی قابل شمردن نداره در کل استفاده از fetch_row اصلاً ربطی به مشخص کردن نتیجه کوئری نداره :31: zibatarin nam29-01-2009, 11:15 PMدر کل استفاده از fetch_row اصلاً ربطی به مشخص کردن نتیجه کوئری نداره http://forum.p30world.com/images/New-smile/N_aggressive%20%284%29.gifیاسر خداییش گرفتی ما رو؟! بابا من همه اینارو میدونم میخوای یه تاپیک با هم بزنیم واسه آموزش توابع مربوط به mysql :دی من در کل میخوام بدونم fetch_row بیشترین پردازش سمت سرور داره یا affected_rows اصلآ با نحوه استفاده یا جایی که استفاده میشه کاری ندارم. حالا میخوام بهت نشون بدم که بعضی مواقع میشه واسه نتیجه کوئری هم از fetch_row استفاده کرد تو فرض کن ما یه سیستم لاگین داریم حالا واسه چک کردن اینکه آیا کاربری با این نام و با این پسورد وجود داره یا نه میشه بعد از کوئری گرفتن اینجوری نوشت که : $result = mysql_fetch_row($query) if($result){ //baghiye majera } خوب این if میاد چک میکنه که آیا خروجی کوئری که یک آرایه هست مقداری داره یا تهی حالا با affect: if(mysql_affected_rows() == 1){ //baghiye majera } حتی با تابع mysql_num_row هم میشه این کار رو انجام داد neopersia30-01-2009, 06:42 AMخوب عزیز دل برادر من که گفتم فقط تو یه مورد میشه از fetch_row برای این که ببینیم نتیجه ای توی کوئری بوده یا نه استفاده کرد اون یه مورد هم فقط مقدار برگردونده شده از SELECT هست! اصلاً هم کار fetch_row این نیست که نتیجه رو مشخص کنه. کاری که میکنه اینه که در صورتی که توی سطری که پویینتر ریسورس گرفته شده از دیتابیس قرار داره یک سطر از اطلاعات وجود داشته باشه، اون سطر رو به صورت یک آرایه استخراج میکنه در غیر این صورت هم false بر میگردونه! در ضمن پویینتر رو هم بعد از هر بار fetch کردن یکی جلو میبره! حالا اون شرطی هم که نوشتی میاد اون آرایه رو تبدیل میکنه به بولین و اون مقدار بولی رو ارزیابی میکنه! یعنی کلی کار بیخوری این وسط انجام میشه! هم دیتابیس mysql رو میزاری سر کار و هم php رو :31: اولاً mysql مجبور میشه داده ها رو بخونه و برات بفرسته به php ثانیاً php مجبوره اون سطر رو بخونه و از ریسورس تبدیل کنه به آرایه که حالا تعداد عضوهاشم بستگی به سلکتت داره! بعدشم مجبوره اون آرایه رو برای شرط تبدیل کنه به بولین! در ضمن در مورد SELECT فکر نمیکنم affected_rows مقداری رو برگردونه ها!! آخه تغییری تو دیتابیس ایجاد نمیشه که بخواد تعداد سطرهای تحت تأثیر قرار گرفته رو برگردونه! برای همچین کارایی اگه خواستی از طریق تعداد سطرها عمل کنی بهتره از mysql_num_rows استفاده کنی که دقیقاً تعداد سطرهای انتخاب شده رو بر میگردونه. یا اینکه اصلاً نام کاربری رو بفرستی به mysql و کلمه عبور اون رو select کنی و تو php اونو با کلمه عبور وارد شده مقایسه کنی (من این روش رو بیشتر دوست دارم!) یه راه دیگه هم اینه که نام کاربری و کلمه عبور رو بفرستی به دیتابیس و همونجا تعداد سطرهای موجود با اون مشخصات رو بشمری و فقط تعداد سطرها رو سلکت کنی (اینم روش بدی نیست :31:) : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! تو این روشها اونی که خودت میگفتی بیشتر از همه پدر سرور رو در میاره بعدش روش اولی هست که من گفتم. اون دو تای آخر به نظرم کمتر فشار بیاره اما بازم بستگی به استوریج انجینی هست که برای جدول انتخاب کردی و همینطور اینکه کدوم فیلدها ایندکس شده باشن! zibatarin nam30-01-2009, 11:08 AMخوب عزیز دل برادر من که گفتم فقط تو یه مورد میشه از fetch_row برای این که ببینیم نتیجه ای توی کوئری بوده یا نه استفاده کرد اون یه مورد هم فقط مقدار برگردونده شده از SELECT هست! اصلاً هم کار fetch_row این نیست که نتیجه رو مشخص کنه. کاری که میکنه اینه که در صورتی که توی سطری که پویینتر ریسورس گرفته شده از دیتابیس قرار داره یک سطر از اطلاعات وجود داشته باشه، اون سطر رو به صورت یک آرایه استخراج میکنه در غیر این صورت هم false بر میگردونه! در ضمن پویینتر رو هم بعد از هر بار fetch کردن یکی جلو میبره! حالا اون شرطی هم که نوشتی میاد اون آرایه رو تبدیل میکنه به بولین و اون مقدار بولی رو ارزیابی میکنه! یعنی کلی کار بیخوری این وسط انجام میشه! هم دیتابیس mysql رو میزاری سر کار و هم php رو اولاً mysql مجبور میشه داده ها رو بخونه و برات بفرسته به php ثانیاً php مجبوره اون سطر رو بخونه و از ریسورس تبدیل کنه به آرایه که حالا تعداد عضوهاشم بستگی به سلکتت داره! بعدشم مجبوره اون آرایه رو برای شرط تبدیل کنه به بولین! ولی من دیدم که بعضیا اینکار رو با fetch_row انجام دادن (^_^) پس پردازش mysql_fetch بیشتره . چون داره fetch میکنه. اینجا به بچه ها باید بگیم که از این تابع برای عضو گیری نباید استفاده کنن. سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 262]

bt

اضافه شدن مطلب/حذف مطلب




-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن