Mailinglisten-Archive |
At 21:25 14.08.2000 +0200, Matthias Jim Knopf wrote: >On Mon, 14 Aug 2000, Robert Hoffmann wrote: >> > eigentlich schon, aber wie gesagt: Sie IST erfolgreich. Wie >> > man vielleicht erkennen kann, wird hiermit ein User-Account >> > angelegt, und dieser Account ist nachher auch vorhanden, nur >> > weiss ich halt nicht seine ID ! >> >> Einfach mal reingefragt : Warum möchtest du die ID wissen? Wenns nur für >> interne DB-Zwecke ist, kannst du das Ganze Problem auch umgehen... > > Nein, ich kann es nicht wirklich umgehen, abgesehen davon, > dass ich das auch nicht ganz einsehen wuerde... Ich brauche diese > Funktion an vielen Stellen in meinem Script, und wenn ich auf sie > verzichten wollte, koennte ich direkt auf AUTO_INCREMENT > verzichten, das waer auch nicht Sinn der Sache! Die ID von einer > Tabelle muss ich uebrigens in einer anderen Tabelle eintragen > (als Referenz darauf), und so kann ich auf diese Funktion nicht > verzichten. > Aeh, aber da ich mich jetzt an jeden Strohhalm klammere > trotzdem die Frage: Was meinst Du mit Umgehen? Ich sehe jetzt nur > eine Moeglichkeit: Ich frage die Datenbank selber nach den IDs, > nehme die hoechste Zahl und addiere eins, und schon "glaube ich > zu wissen", was MySQL als naechste ID verwenden wird... bei Multi > User Systemen ist das aber schon hart an der Grenze, oder an was > dachtest Du? Hi Matthias, ist von euch denn keiner auf der MySQL-Mailingliste, ich will hier jetzt nicht blöd daherreden, o.ä. aber es gibt IMHO eine ganz einfache Lösung zu deinem Problem. Ich weiss nicht ob du in MySQL den Befehl/die Funktion LAST_INSERT_ID() ich denke das man das allgemein sogar eher verwenden sollte, da es (minimal) performanter ist, da man sich die ID nicht erst per PHP holt und dann wieder an den MySQL-Server übergibt, sondern alles im MySQL- Server gespielt wird. Probier halt einfach einmal zu debugging Zwecken ein <? ... $result = mysql_query("SELECT LAST_INSERT_ID()"); echo(mysql_result($result, 0, 0)); ... ?> (absichtlich keine or's o.ä. Prüfungen), ich denke dann bekommst du die richtige ID, falls nicht, ist PHP auf jedenfall nicht schuld, sondern der MySQL-Server. PS: Eine bitte an alle, hört doch bitte mit all den Beschuldigungen Verdächtigungen und blöden Anmachen auf! Mich regt es auf, wenn ich wieder irgendeine Mail bekomm, in der nur sinnloser Inhalt drinnen steht, wenn irgendjemand beschimpft wird. Schickt solche Mails doch per PM, dann wird die Liste nicht mehr soviel belastet, und keiner "öffentlich Blamiert". PPS: Erst denken, dann schicken! Bye Dante
php::bar PHP Wiki - Listenarchive