Ankündigung

Einklappen
Keine Ankündigung bisher.

neuer Datensatz mit INSERT, wie die ID dieses Datensatzes erhalten

Einklappen

Neue Werbung 2019

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

  • neuer Datensatz mit INSERT, wie die ID dieses Datensatzes erhalten

    Hallo,

    ich arbeite mit PHP und erstelle einen neuen Datensatz in einer mySQL Datenbank mit INSERT into usw.
    Aktuell screibe ich da ein paar Werte plus rand() als Schlüssel in ein Feld mit rein.
    Danach mache ich dann SELECT mit diesen Werten auf dieses Feld.um die einmalige ID dieses Datensatzes zu erhalten.

    Das muss man doch ein wenig sauberer machen können um den zwar unwahrscheinlichen aber wohl dennoch möglichen Fall zu haben wo zweimal die gleiche ID beim SELECT zurückgebeben wird.

    Gruss



  • #2
    Dann google doch mal "auto increment sql".

    Kommentar


    • #3
      plus rand() als Schlüssel in ein Feld mit rein
      Warum tut man sowas? Das ist ja fast schon fahrlässig.
      The string "()()" is not palindrom but the String "())(" is.

      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
      PHP.de Wissenssammlung | Kein Support per PN

      Kommentar


      • #4
        Entweder habe ich mich falsch ausgedrückt oder ich habe es nicht verstanden. Mein Feld ist ja so erstellt
        NOT NULL AUTO_INCREMENT, PRIMARY KEY(id)
        Bloß wie erhalte ich diesen einmaligen Wert (id) nach einem INSERT INTO um mit der Zeile noch weitere Dinge machen zu können?

        Gruss

        Kommentar


        • #5
          insert_last_id() bzw. je nach API die du verwendet.
          The string "()()" is not palindrom but the String "())(" is.

          Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
          PHP.de Wissenssammlung | Kein Support per PN

          Kommentar


          • #6
            Je nachdem, wie Du mit der Datenbank arbeitest. PDO bspw. bietet PDO::lastInsertId()
            Competence-Center -> Enjoy the Informatrix
            PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

            Kommentar


            • #7
              Hallo,
              ich benutze keine API, ich habe das selber geschrieben, das ist auch schon ewig her..


              https://www.w3schools.com/php/php_my...ert_lastid.asp
              $last_id = $conn->insert_id;

              Das wäre noch Stand der Technik den Wert so auszulesen?


              # Das ist wohl veraltet: http://php.net/manual/de/function.mysql-insert-id.php
              $this->query($query);
              $this->insert_newid = mysql_insert_id($this->connection);


              Gruss


              PS: Benutzen tue ich z.B. Befehle wie mysql_connect, mysql_select_db, is_resource, mysql_close
              Ich weiß aber nicht "wozu" das gehört


              Kommentar


              • #8
                ich benutze keine API, ich habe das selber geschrieben
                Damit ist gemeint mit welcher "Funktionsgruppe" du auf die Datenbank zugreifst. In deinem Fall ist das mysql_* und die ist, wie du selbst festgestellt hast, bereits seit geraumer Zeit veraltet und seit Php7 auch komplett entfernt. Stand der Technik ist PDO.

                Kommentar


                • #9
                  PS: Benutzen tue ich z.B. Befehle wie mysql_connect, mysql_select_db, is_resource, mysql_close
                  Das ist die mysql_ API, und die ist veraltet und aus der aktuellen PHP Version 7 auch schon entfernt. Siehe roter Kasten: http://php.net/manual/de/function.mysql-query.php

                  Stell daher am besten gleich um auf PDO (zB https://php-de.github.io/jumpto/pdo/ ) oder mysqli_

                  The string "()()" is not palindrom but the String "())(" is.

                  Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                  PHP.de Wissenssammlung | Kein Support per PN

                  Kommentar

                  Lädt...
                  X