Joan: id wird nicht angezeigt

Hallöchen,

da bin ich wieder mal.
Ich habe folgendes Problem.
Wenn ich das Ganze richtig verstanden habe, dann bekomm ich mit "mysql_insert_id" genau die id, die gerade beim einschreiben verwendet wurde. Richtig?

Ich hab das wie folgt geschrieben, bekomm aber immer nur eine "0",  auch wenn ich, was weiß ich wieviel Datensätze in der Datenbank habe.

<?php
If (isset($submit))
{include ("kontakt.php");
  $result = mysql_query("SELECT * FROM kunden");
  $idk_num = mysql_num_rows($result);

$text = "INSERT INTO kunden (name, vorname, firma, str, hnr, ort, plz) VALUES ('$name','$vname','$firma','$str','$hnr','$ort','$plz')";
  $var = mysql_insert_id();

echo "<b>Folgende Informationen wurden gespeichet: </b>";
   echo "<br>ID:  ", $var;
   echo "<br>Name:  ", $name;
   echo "<br>Vorname:  ", $vname;
   echo "<br>Firma:  ", $firma;
   echo "<br>Straße:  ", $str;
   echo "<br>Hausnr.:  ", $hnr;
   echo "<br>Ort:  ", $ort;
   echo "<br>PLZ:  ", $plz;
   echo "<br><br>Bitte merken Sie sich ihre ID für spätere Funktionen.";

}
?>

Kann mir evtl. jemand helfen?

Danke,
Joan

  1. Hi,

    Ich hab das wie folgt geschrieben, bekomm aber immer nur eine "0",  auch wenn ich, was weiß ich wieviel Datensätze in der Datenbank habe.

    welche Spalte der Tabelle ist denn mit einem auto_increment-Wert versehen?

    Cheatah

    1. Hi,

      welche Spalte der Tabelle ist denn mit einem auto_increment-Wert versehen?

      Die in der ide Id's gespeichert werden.

      Joan

  2. Huhu Joan

    ich versuche es mal ....

    <?php
    If (isset($submit))
    {include ("kontakt.php");

    $result = mysql_query("SELECT * FROM kunden");
      $idk_num = mysql_num_rows($result);

    die beiden vorigen Zeilen sind IMHO überflüssig

    $text = "INSERT INTO kunden (name, vorname, firma, str, hnr, ort, plz) VALUES ('$name','$vname','$firma','$str','$hnr','$ort','$plz')";

    hier fehlt die Query

    $var = mysql_insert_id();

    echo "<b>Folgende Informationen wurden gespeichet: </b>";
       echo "<br>ID:  ", $var;
       echo "<br>Name:  ", $name;
       echo "<br>Vorname:  ", $vname;
       echo "<br>Firma:  ", $firma;
       echo "<br>Straße:  ", $str;
       echo "<br>Hausnr.:  ", $hnr;
       echo "<br>Ort:  ", $ort;
       echo "<br>PLZ:  ", $plz;
       echo "<br><br>Bitte merken Sie sich ihre ID für spätere Funktionen.";

    }
    ?>

    Viele Grüße

    lulu

    1. Hi,

      ich versuche es mal ....

      Was heute ohne umschreibenede Einleitung, ist ja schade.

      <?php
      If (isset($submit))
      {include ("kontakt.php");

      $result = mysql_query("SELECT * FROM kunden");
        $idk_num = mysql_num_rows($result);

      die beiden vorigen Zeilen sind IMHO überflüssig

      Was heißt denn IMHO????

      $text = "INSERT INTO kunden (name, vorname, firma, str, hnr, ort, plz) VALUES ('$name','$vname','$firma','$str','$hnr','$ort','$plz')";

      hier fehlt die Query

      Welche Query?

      $var = mysql_insert_id();

      echo "<b>Folgende Informationen wurden gespeichet: </b>";
         echo "<br>ID:  ", $var;
         echo "<br>Name:  ", $name;
         echo "<br>Vorname:  ", $vname;
         echo "<br>Firma:  ", $firma;
         echo "<br>Straße:  ", $str;
         echo "<br>Hausnr.:  ", $hnr;
         echo "<br>Ort:  ", $ort;
         echo "<br>PLZ:  ", $plz;
         echo "<br><br>Bitte merken Sie sich ihre ID für spätere Funktionen.";

      }
      ?>

      Viel Grüße,
      Joan

      1. Hi,

        die beiden vorigen Zeilen sind IMHO überflüssig
        Was heißt denn IMHO????

        In My Humble Opinion, meiner bescheidenen Meinung nach.

        hier fehlt die Query
        Welche Query?

        Du hast den _Text_ eines Statements formuliert, aber das Statement nicht der DB übergeben.

        Cheatah

      2. Gugucks Joan

        $text = "INSERT INTO kunden (name, vorname, firma, str, hnr, ort, plz) VALUES ('$name','$vname','$firma','$str','$hnr','$ort','$plz')";

        hier fehlt die Query
        Welche Query?

        Der PHP-Befehl, der deinen in $text gespeicherten SQL-String an deine Datenbank verschickt, also
        mysql_query($text);
        $var = mysql_insert_id();
        Wobei ich übrigens finde, dass $var ein ungünstiger Variablenname ist. var gehört in vielen Sprachen zu den reservierten Wörtern.

        gruß,uschi

  3. also in deinem beispiel script weist du die INSERT anweisung nur ner variablen zu... aber du schickst den INSERT nie ab...
    mysql_insert_id() funzt nur wenn kurz vorher ein INSERT abgeschickt wurde

  4. hi :)

    lulu hatte ganz recht ... du hast dein sql insert statement nur in die $text variable gepackt, aber das eigentlich sql-statement nicht ausgeführt.

    versuche doch mal

    $text = "INSERT INTO kunden (name, vorname, firma, str, hnr, ort, plz) VALUES ('$name','$vname','$firma','$str','$hnr','$ort','$plz')";

    $resultInsert = mysql_query($text) or die(mysql_errno().": ".mysql_error());

    $var = mysql_insert_id();

    hoffe, das löst dein problem :)