PDA

View Full Version : بررسی update شدن یک رکورد در دیتابیس



Jason.Bourne
یک شنبه 10 شهریور 1392, 20:23 عصر
من یک فرم دارم که برای ویرایش اطلاعات ذخیره شده در دیتابیس از اون استفاده میکنم.
پس از اینکه کاربر بر روی دکمه ویرایش این فرم کلیک کرد، یک Query اجرا میشه که اطلاعات رکورد مورد نظر را Update میکند.
من برای بررسی اینکه رکورد مورد نظر در دیتابیس Update شده است از mysql_affected_rows استفاده میکنم. اما مشکلی که دارم این هست که اگر کاربر اطلاعات را در "فرم ویرایش" تغییر نداد و دکمه ویرایش را کلیک کرد و با توجه به اینکه اطلاعات جدید با اطلاعاتی که در دیتابیس ذخیره شده است، یکی هستند، خروجی تابع mysql_affected_rows برابر با 0 هست و من نمیتونم تصمیم درستی در خصوص نمایش پیغام مناسب به کاربر را اتخاذ کنم (مثلا رکورد مورد نظر ویرایش شد یا نشد).

افشین66
یک شنبه 10 شهریور 1392, 20:43 عصر
خوب اگر صفر یعنی نیازی به ویرایش نبوده !!! پیغام بده که نیازی به ویرایش نبود !!!!!

Jason.Bourne
یک شنبه 10 شهریور 1392, 22:59 عصر
اگر خطایی رخ بده،چطور میشه اون خطا را handle کرد؟

AliRezaPro
یک شنبه 10 شهریور 1392, 23:49 عصر
همین که داده های رو بانک اطلاعاتی رو update کردید , خواه با داده های تکراری , خروجی طبق معمول باید 1 باشد , در هر صورت شما میتونید قبل از update چک کنید که داده ها تکراری نباشند و اگر تکراری بودند با زدن دکمه ی ویرایش پیغام مطلوب را نمایش دهید

Jason.Bourne
دوشنبه 11 شهریور 1392, 09:41 صبح
همین که داده های رو بانک اطلاعاتی رو update کردید , خواه با داده های تکراری , خروجی طبق معمول باید 1 باشد

خیر. اگر داده هایی که در کوئری Update هستند، با داده های ذخیره شده در پایگاه داده یکسان باشند، خروجی تابع mysql_affected_rows برابر با یک نیست.


در هر صورت شما میتونید قبل از update چک کنید که داده ها تکراری نباشند و اگر تکراری بودند با زدن دکمه ی ویرایش پیغام مطلوب را نمایش دهید

در سمت کلاینت منظورتون هست؟

MMSHFE
سه شنبه 12 شهریور 1392, 09:50 صبح
اگر خطایی رخ بده،چطور میشه اون خطا را handle کرد؟
mysql_affected_rows اگه خطایی رخ بده، 1- برمیگردونه.