PEAR::DB und mysql_insert_id()

Posted in PHP by tobi on the September 5th, 2006

mysql_insert_id() gibt ja bekanntlich den letzen Autoincrement eines mysql-INSERTs bzw eines UPDATES an. Diese Vorgehensweise kann aber den Nachteil haben, dass z.B. ein Trackingsystem, das bei jedem Seitenaufruf Daten in die Datenbank schreibt, diese insert_id verfälscht. Dafür gibt man normalerweise den link indentifier mit, also den Connection-Handler. Wenn mann aber mit PEAR:DB arbeitet, muss man schon etwas suchen.
In der Klasse DB wird man fündig. Hier findet man die Eigenschaft $connection. Die Eigenschaft gibt man also seiner mysql_insert_id() einfach mit. Das ganze schaut dann etwa so aus: mysql_insert_id($db->connection). $db ist natürlich die entsprechende Objektinstanz.