18.6. Ich verwende das obige Beispiel. Wie kann ich nun mysql_insert_id() emulieren? Keywords: Oracle | Datenbank | MySQL | Ersatz | Zaehler | ID | letzter | Datensatz | mysql_insert_id
Antwort von Thomas FrommDer aktuellen Wert der Sequenz zaehler_der_tabelle_xy kann durch Verwendung von currval (abgeleitet von Current Value) ermittelt werden. Mit dem folgenden Codestück ist es möglich, den zuletzt eingefügten Wert abzufragen: // INSERT in die Tabelle $stmt = OCIParse($conn, "INSERT INTO xy (BLA_XY) VALUES 'BLA'"); OCIExecute($stmt, OCI_DEFAULT); //Abfrage der Sequence $stmt = OCIParse($conn,"SELECT zaehler_der_tabelle_xy.currval AS CV FROM DUAL"); OCIExecute($stmt, OCI_DEFAULT); OCIFetch($stmt); $last_id=OCIResult($stmt, "CV"); OCICommit($conn); Achtung: Das selektieren des currval funktioniert nur innerhalb derselben Transaktion (daher auch beim OCI_DEFAULT). Will man den aktuellen höchsten ID-Wert ermitteln, ist es besser, unter Verwendung der SQL-Funktion MAX() den höchsten Wert direkt aus der Tabelle abzufragen. |
||
18.6. Ich verwende das obige Beispiel. Wie kann ich nun mysql_insert_id() emulieren? http://www.php-faq.de/q/q-oracle-insert-id.html |
||
Archiv der de.comp.lang.php-FAQ Dies ist eine Archivseite von 2008 und wurde seitdem nicht geändert. Das dclp-FAQ-Team |