PHP nach Insert into id Ausgeben

  • PHP

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Link.

    PHP nach Insert into id Ausgeben

    Hallo zusammen,

    Ist es möglich wenn ich einen neuen Artikel erfasse, direkt die neue ID auszulesen?

    Das erfassen mache ich wie folgt:

    PHP-Quellcode

    1. $stmt = $db->prepare("INSERT INTO tab_spezialteile (kommentar, bild1, bild2, kurz_beschreib) VALUES (?, ?, ?, ?)");
    2. $stmt->bind_param('ssss', $kommentar, $bild1, $bild2, $kurz_beschreib);
    3. $stmt->execute();
    4. $stmt->close();
    Das ist wohl ein Witz? Das Manual zu PHP kennst du aber schon? mysqli_insert_id

    Hast du dir eig. überhaupt die Mühe gemacht selbst zu suchen? Google: last insert id mysqli
    Hi,

    Fehlt doch nur eine Zeile:

    PHP-Quellcode

    1. <?php
    2. $stmt = $db->prepare("INSERT INTO tab_spezialteile (kommentar, bild1, bild2, kurz_beschreib) VALUES (?, ?, ?, ?)");
    3. $stmt->bind_param('ssss', $kommentar, $bild1, $bild2, $kurz_beschreib);
    4. $stmt->execute();
    5. echo $stmt->insert_id;
    6. $stmt->close();
    7. ?>


    Link :thumbup:
    Hello World
    Nein es ist kein witz, ich habe es so Probiert:

    PHP-Quellcode

    1. printf ("New Record has id %d.\n", $mysqli->insert_id);

    jedoch sagt er immer id 0


    So Funktionierts, danke :)

    PHP-Quellcode

    1. ​$stmt->execute();
    2. echo $stmt->insert_id;
    3. $stmt->close()

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „schnibli“ ()

    Hi,

    wieso nimmst nicht einfach den Code den ich gepostet hab?^^ Du hast deinen MySQL-Link der Variable $stmt zugewiesen, nicht $mysqli. Wenn dann musst du $stmt->insert_id ausgeben.

    Link :thumbup:
    Hello World
    @Link Weil er sich einfach keine Mühe gibt, er hat die Zeile stumpf kopiert und eingefügt ohne nachzudenken :thumbdown:
    Hi,

    @schnibli es wär wirklich gut du würdest vorher Google kurz anschmeißen. Das geile an PHP ist, dass man verdammt schnell an die gewünschten Infos rankommt. Und jedes Problem das du hast hatten schon einige vor dir. Deswegen sind die ersten Suchergebnisse die, die direkt auf stackoverflow oder auf das php.net-manual verweisen. Und das Manual ist eh (fast gänzlich) auf Deutsch :) Es wird in den seltensten Fällen vorkommen dass du wirklich keine Ergebnisse bekommst ;) Gut bei dir ist mir aufgefallen kommen öfter mal kleine Denkfehler vor (mit Vorliebe sind es Variablen die nicht deklariert wurden). Allgemein gilt: in der Testumgebung immer display_errors einschalten sowie error_reporting auf E_STRICT oder E_ALL. Dann immer wieder mal Ausgaben machen. Wenn dort -wie im Fall jetzt- eine Null steht obwohl du ja weißt dass dort ein anderer Wert sein müsste, dann sollte dir eigentlich gleich klar sein dass entweder der Wert nicht zugewiesen wurde oder die Variable keinen Wert hat. Eine Variable die keinen Wert hat, ist i.d.R. entweder null oder wird verwendet ohne dass sie zuvor deklariert (=ihr ein Wert zugewiesen) wurde.

    Link :thumbup:
    Hello World