אם אינך מתקשר ישירות עם מסד הנתונים, אלא באמצעות פונקיות גישה פרטניות בשפה בה הינך כותב את התוכנה, יתכן ויש בשפה זו פונקציה בשם זהה העושה את הפעולה הנדרשת.
כן, הפוקציה הזו קצת בעייתית, כיוון שבאותו הרגע בדיוק יכול מישהו להכנס לדף מסויים שבו מתבצעות כמה שאילתות של SELECT ובכך בעצם לשנות את ה LAST_INSERT_ID.
השאלה היא האם ישנה דרך אמינה יותר?
_____________________________________
ציטוט:
Different people use different tools, but its mostly morons who pretend that the problems with PHP actually matter.
בתגובה להודעה מספר 5 שנכתבה על ידי fadey שמתחילה ב "אוקיי סליחה, לא SELECT אלא..."
זה לא יצור בעייה משום שמישהו שעושה פעולה אחרת באתר באותו זמן, עובד מול connection אחר מול מסד הנתונים, ו last insert id הוא רלוונטי ל connection שלך. כך שכל עוד שלא הרצת אף שאילתא אחרת, והשארת את החיבור פתוח, התשובה שתחזור, תהיה נכונה.
בתגובה להודעה מספר 8 שנכתבה על ידי fadey שמתחילה ב "איך זה ייתכן שמישהו אחר נרשם..."
סקריפט אחד שרץ יוצר לעצמו חיבור למסד הנתונים. החיבור הזה משתייך אך ורק לאותו סקריפט, וגם אם תריץ את הסקריפט מאתיים פעם, זה כל פעם "חיבור" שונה, גם אם אתה משתמש באותו שם משתנה. (כי שוב, כל ריצה של סקריפט היא לא קשורה לריצה הקודמת).
last insert id משתייך לחיבור הנוכחי, שככה שאם תקרא לערך שלו בסקריפט מסויים, מיד אחרי הINSERT המבוקש, אתה תקבל את ה id הנכון אותו רצית.