سایت ساز وبزیکسب درآمد

بازگرداندن ایدی رکورد ذخیره شده در دیتابیس

شروع موضوع توسط peiman ‏10 مارس 2007 در انجمن PHP

  1. peiman

    peiman Registered User

    تاریخ عضویت:
    ‏23 فوریه 2003
    نوشته ها:
    1,545
    تشکر شده:
    21
    سلام
    خوبید؟
    ببینید با یه دستوری مثل این:
    PHP:
    INSERT INTO `bil1_login` (`id`, `user`, `pass`, `ip`, `action_date`, `action_time`, `action`) VALUES ('0''sd''fsd''sdfd''sdf''dsf''dsf');
    یه رک.رد به دیتا بیس اظافه میکنم
    حالا میخوام یه پیغام به کاربر بدم که رک.رد شماره فلان ذخیره شده!!
    این شماره فلان رو از کجا بفهمم!!
    ممنون
     
  2. بازدیدیار - افزایش بازدید سایت و سیگنال های برندخرید بک لینک
  3. Mehdi

    Mehdi مدیر بازنشسته

    تاریخ عضویت:
    ‏1 آگوست 2004
    نوشته ها:
    5,558
    تشکر شده:
    49
    محل سکونت:
    Anywhere
    خوب میشه آخرین رکورد دیگه درسته ؟ وقتی دستور اینسرت رو اجرا کردی , پشت سرش یه کویری دیگه اجرا کن اخرین رکورد از ایدی رو بگیر .
     
  4. firebird

    firebird Registered User

    تاریخ عضویت:
    ‏2 جولای 2005
    نوشته ها:
    1,424
    تشکر شده:
    10
    فيلد id كه بايد AUTO INCREMENT باشه و نبايد خودت بهش مقدار بدي. بعد از ارسال INSERT با تابع mysql_insert_id ميتوني مقدار id رو به دست بياري.
     
  5. firebird

    firebird Registered User

    تاریخ عضویت:
    ‏2 جولای 2005
    نوشته ها:
    1,424
    تشکر شده:
    10
    ممكنه همون لحظه بين INSERT و SELECT يه INSERT ديگه انجام بشه. گرفتن آخرين ركورد توالي اجرا رو رعايت نمي كنه و برنامه دچار مشكل ميشه.
     
  6. peiman

    peiman Registered User

    تاریخ عضویت:
    ‏23 فوریه 2003
    نوشته ها:
    1,545
    تشکر شده:
    21
    آره مشکل منم همینه!!
    تعداد زیادی یوزر میتونن insert کنن و ریسکه که دوباره یه کوئری بفرستم
    یه نمونه از این تابع میزاری!! من نمیدونم چطور باید ازش استفده کنم!!
     
  7. peiman

    peiman Registered User

    تاریخ عضویت:
    ‏23 فوریه 2003
    نوشته ها:
    1,545
    تشکر شده:
    21
    یافتم

    http://ir.php.net/manual/en/function.mysql-insert-id.php
     
  8. firebird

    firebird Registered User

    تاریخ عضویت:
    ‏2 جولای 2005
    نوشته ها:
    1,424
    تشکر شده:
    10
  9. peiman

    peiman Registered User

    تاریخ عضویت:
    ‏23 فوریه 2003
    نوشته ها:
    1,545
    تشکر شده:
    21
    به هر حال ممنون!!
     
  10. alireza sh

    alireza sh مدیر بازنشسته

    تاریخ عضویت:
    ‏2 ژانویه 2006
    نوشته ها:
    2,668
    تشکر شده:
    68
    محل سکونت:
    نصف جهان
    البته در SQL سرور ، چنانچه آی دی به صورت autonumber یا همان increment یا identity باشد ، با @@Identity میتوان آخرین آی دی genereate شده را بدست آورد
     
  11. miladmovie

    miladmovie مدیر بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    1,936
    تشکر شده:
    2
    mysql_insert_id ما هم همین کار رو می کنه ;)
     
  12. peiman

    peiman Registered User

    تاریخ عضویت:
    ‏23 فوریه 2003
    نوشته ها:
    1,545
    تشکر شده:
    21
    اینجا بخش php ئه!! :D
     
  13. shervin

    shervin ASP.net

    تاریخ عضویت:
    ‏26 ژوئن 2005
    نوشته ها:
    6,316
    تشکر شده:
    260
    محل سکونت:
    تهران
    مدیر اجازه داره پست نامربوط بزنه :D
     
  14. firebird

    firebird Registered User

    تاریخ عضویت:
    ‏2 جولای 2005
    نوشته ها:
    1,424
    تشکر شده:
    10
    اتفاقاً‌ mysql هم يه تابع LAST_INSERT_ID داره كه توالي اجرا رو رعايت ميكنه منتهي زياد متداول نيست. DB هم در perl يك متد nextID داره كه بسيار استفاده ازش راحته.
     
عسل طبیعی و گرده گل ایرانیخرید و فروش اتوماتیک ارزهای الکترونیکی