Frage zur phplib 7.2

style-guide!

Lounge-Member
Weiss jemand direkt aus dem Stehgreif, wie ich mit der MySQL DB Klasse der phplib die last insert id als Rückgabewert erhalten kann? Danke.....
 
ähmmm gar nicht?!?!?!
da es nur bei mysql eine Last Insert ID gibt, bzw. sie bei anderen DBs völligst anders abzufragen ist, haben sich die Programmierer der PHPLib die Geschichte mit der nextid ausgedacht. Dazu wird eine zusätzliche Tabelle (z.B. db_sequence) benötigt, die für die Generierung der eindeutigen Schlüssel herhalten muß.
Du kannst natürlich auch eine Custom Funktion in Deine abgeleitete Klasse einbauen, die anhand der Resultid den letzten Autowert zurückgibt....
 
Shit, das dachte ich mir, da im Quelltext nix von wegen mysql_insert_id zu finden ist :(.

Ist das korrekt, dann einfach folgende Funktion zu ergänzen:

function last_insert(){
$last = mysql_insert_id();
return $last;
}

und diese dann mit

$db->last_insert();

anzusprechen?

Danke Albu!
 
sollte passen.... am saubersten ist es, wenn Du die Funktion konsequenterweise in Deine Klasse in der local.inc einbaust, dadurch bist Du bei Updates der Lib sauber raus...
 
Ich muss dabei sagen, das ich i.d.R. nur die DB Klasse nutze, den Rest der phplib nutze ich hier nicht!

Hab das auch gerade mal testweise integriert, haut allerdings noch nicht sauber hin, werde das aber morgen nochmal in aller Ruhe durchchecken.

Thanks a million Albu ;)
 
Irgendwie krieg ich die ID nicht zurück, zum erbrechen.....

Integriert hab ich das folgendermassen:

function last_insert(){
return mysql_insert_id();
}

und zwar direkt über der funktion:

/* public: sequence numbeRecord */

Nutzen will ich die Last_insert_id über

$last_insert = $db->last_insert();

rauskriegen, aber die Variable $last_insert bleibt leer :( :(...

Warum?
 
Lieber mal richtig suchen.....

function last_insert(){
return @mysql_insert_id($this->Link_ID);
}

So geht es allerdings direkt in der Klasse auch nicht..... :( :( :(
 
hmmm also wenn die DB ein Autowert enthält und ein Insert stattgefunden hat, dann sollte der Aufruf die ID zurückgeben. Schliesslich werden hier ja keine Funktionen verwendet (bzw. anders verwendet), die man sonst nicht auch prozedural in dieser Form und Reihenfolge benutzen würde....
 
Wie sooft, ein kleiner Fehler in der Varialenbezeichnung im Script selber :rolleyes:, ein Buchstabendreher war der Verursacher, das hab ich nicht sofort gesehen!
 
Zurück
Oben