Bernd: Wie Sicher ist last_inserted_id()

Hallo,

ich habe eine Datenbank mit 2 Tabellen. Der Primärschlüssel, der die Tabellen verbinden ist auto_increment. Deshalb hole ich mir zur Zeit beim einpflegen eines Datensatzes die ID mit last_inserted_id().

Kann ich davon ausgehen, das diese Methode sicher ist, oder kann es zu Komplikationen führen, wenn zwei Einträge gleichzeitig stattfinden? Wenn ja wie kann ich das verhindern. Ist es vielleicht nötig die IP eines Nutzers zu Speichern?

mfg

Bernd

  1. Moin!

    Kann ich davon ausgehen, das diese Methode sicher ist, oder kann es zu Komplikationen führen, wenn zwei Einträge gleichzeitig stattfinden? Wenn ja wie kann ich das verhindern. Ist es vielleicht nötig die IP eines Nutzers zu Speichern?

    Die Methode ist sicher, da sie connectionbasiert arbeitet: Du machst eine Verbindung zur DB auf, übermittelst ein INSERT mit auto_increment-Spalte, und kriegst garantiert die dabei entstandene neue ID mit last_insert_id() zurück, wenn du dieselbe DB-Connection abfragst.

    Was natürlich nicht funktioniert: Verbindung auf, INSERT, Verbindung zu, (evtl. neues Skript), Neue Verbindung auf, last_insert_id().

    - Sven Rautenberg