Zuletzt veränderte Zeile auslesen ?

pnx

Mitglied
Hi beisammen,

Wie kann man den Inhalt der zuletzt per Insert erstellten bzw durch Update veränderten Zeile(n) einer Tabelle ermittteln ?

Zur Erklärung, ich habe eine Tabelle mit einer id die auto_increment ist und einige weitere Variablen. In diese Tabelle werden beim erstellen bzw editieren durch ein Formular die Inhalte hinzugefügt bzw. geändert.

Zwar kann man jetzt hingehen, und einfach die Tabelle absteigend nach der id auflisten und per LIMIT 1 die zuletzt eingefügte Zeile herausholen, aber ich möchte deisen Weg eigentlich nicht gehen.

Ansonsten hab ich nur Befehle gefunden die mir die Anzahl aber nicht den Inhalt der betroffenen Zeilen ermitteln.

Jemand eine Idee ?
 
Bei nem Update weißt du die ID ja, weil du ja irgendwie den Datensatz identifizieren musst, den du updatest. Bei nem INSERT kommt es ganz auf die DB und die verwendete API an, ob es dafür eine Funktion gibt.
Bei mySQL und der PHP API gehts mit http://www.php.net/mysql_insert_id
Bei anderen Datenbanken oder anderen APIs wird es wahrscheinlich ähnliche Funktionen geben.
 
So ... meine id bekomm ich jetzt per:
PHP:
mysql_affected_rows() or die( mysql_error());
$id = mysql_insert_id() or die( mysql_error());

Was ich jetzt aber nicht verstehe ist, dass eine meiner $_POST-Variablen mit der zuletzt abgerufenen $_POST-Variable überschrieben wird.

Also vor dem bestimmen der id werden beide Variablen "geholt";
PHP:
$var1 = $_POST["var1"];
$var2 = $_POST["var2"];

Aber am Ende steht in var1 und var2 der Inhalt von $_POST["var2"]. Zwar wird var2 bei dem query bevor ich die id bestimme eingefügt, aber daran wirds doch net liegen oder ? Ne Ahnung warum das so ist ?
 
Zurück