Klaus Berthold: mysql_last_id() liefert nur 0

Hallo Forum,

ich habe ein Problem mit mysql_insert_id(). Ich bekomme immer Null zurück geliefert, obwohl die Tabelle eine auto_increment Spalte (INT) hat, die auch bei jedem neuen Eintrag hochgezählt wird. Vielleicht hat jemand von Euch einen Tipp, warum das so ist und was ich falsch mache.

$eintrag = "INSERT INTO Produkte (prd_grp, bezeichn, norm, beschreib, pd_bild, datum) VALUES "
          ."('$prd_grp', '$bezeichn', '$norm', '$beschreib', '$pd_bild', '$zeit')";

printf ("Der letzte eingefügte Datensatz hat die ID %d\n", mysql_insert_id());

In der Query fehlt die Spalte "pd_id". Diese ist auto_increment und wird auch richtig hochgezählt bei einem neuen Eintrag.

Wo steckt der Fehler?

Vielen Dank im Voraus

Gruß
Klaus

  1. Hallo!

    $eintrag = "INSERT INTO Produkte (prd_grp, bezeichn, norm, beschreib, pd_bild, datum) VALUES "
              ."('$prd_grp', '$bezeichn', '$norm', '$beschreib', '$pd_bild', '$zeit')";

    printf ("Der letzte eingefügte Datensatz hat die ID %d\n", mysql_insert_id());

    So sollte es gehen:

    $con = mysql_connect(...);
    mysql_query($eintrag, $con);
    echo mysql_insert_id($con);

    MfG, André Laugks

    --
    L-Andre @ gmx.de
    1. Hallo Andre,

      So sollte es gehen:

      $con = mysql_connect(...);
      mysql_query($eintrag, $con);
      echo mysql_insert_id($con);

      na toll! Du hast recht! Ich depp habe mysql_insert_id() VOR der Query abgefragt - somit war die da noch gar nicht vergeben :))

      Manchmal sieht man den Wald vor lauter Bäumen nicht ;)

      Danke sehr!

      Gruß
      Klaus