ID von neuem Datensatz ermitteln

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • ID von neuem Datensatz ermitteln

    Hallo,

    per INSERT füge ich einer Tabelle einen Datensatz hinzu. Das feld "id" wird automatisch gesetzt. Jetzt brauch ich direkt nach dem Eintrag aber die id.

    Ich könnte mir ja irgendeinen Text, den ich gerade reingeschrieben habe nehmen, mit SELECT abfragen und dann die id nehmen. Scheint mir aber sehr unsicher zu sein - wies das Leben will steht der Text vielleicht schonmal drin.

    Gibts ne möglichkeit, sich die autoincrement Felder beim erzeugen des neuen Sates zurückgeben zu lassen?

    Danke Manfred
    Cocoa Entwicklertraining - Alles für die Apfelzucht

  • #2
    Was möchtest Du denn genau tun? Möchtest Du, dass der eben eingetragene Datensatz direkt wieder ausgegeben wird? Dann würde ich Dir empfehlen, mittels
    PHP-Code:
    $sql "SELECT * FROM tabelle ORDER BY id DESC LIMIT 1"
    den letzten Datensatz nur anzeigen zu lassen. Der, den du gerade eingetragen hast, ist ja auch immer der letzte in der Tabelle (sofern Du keine anderweitigen Sortierungssachen hast).

    Kommentar


    • #3
      nachdem der Datensatz eingetragen ist, kann der User entscheiden, ob er zur Detailansicht seiner eingabe geht, oder auf ein Formular, mit dem noch Bilder hochgeladen werden können. Dazu muss ich die id des gerade erzeugten Datensatzes übermitteln.

      Deine Idee, den letzten Datensatz zu ermitteln gefällt mir auch nicht so, es könnte ja jemand zwischenzeitlich einen weiteren Datensatz erzeugt haben. Ist zwar in anbetracht der kurzen Zeit unwahrscheinlich, aber auch nicht unmöglich.
      Cocoa Entwicklertraining - Alles für die Apfelzucht

      Kommentar


      • #4
        Dann mach's z.B. über eine zweite Tabelle. Dort werden die eben eingetragenen Sachen gesichert. Dieser Eintrag hat dann eine eindeutige ID. Erst wenn der Nutzer wirklich sagt "Absenden", schreibst Du die Daten aus der "temporären" Tabelle in Deine "richtige" Tabelle.

        Kommentar


        • #5
          PHP-Code:
          mysql_insert_id() 
          ist dein freund

          Kommentar


          • #6
            Danke
            Cocoa Entwicklertraining - Alles für die Apfelzucht

            Kommentar


            • #7
              Eins versteh ich aber nicht ganz:

              int=mysql_insert_id ($verbindungskennung);

              was ist jetzt aber die Verbindungskennung, da ja INSERT nur 0 oder 1 zurückliefert, wenn mysql_query() aufgerufen wird.

              mysql_insert_id () ohne Parameter liefert zwar die letzte id, aber wenn mans noch genauer will?
              Cocoa Entwicklertraining - Alles für die Apfelzucht

              Kommentar


              • #8
                Da gibt's kein "genauer". Aus der Dokumentation: "mysql_insert_id() liefert die ID, die bei der letzten INSERT-Operation für ein Feld vom Typ AUTO_INCREMENT vergeben wurde."

                Kommentar


                • #9
                  o.k ich sehs ein ich bin paranoid

                  Es wird wohl reichen
                  Cocoa Entwicklertraining - Alles für die Apfelzucht

                  Kommentar


                  • #10
                    Dann erkläre mir wenigstens, was Du mit "genauer" meinst.

                    Kommentar

                    Lädt...
                    X