Mailinglisten-Archive |
Georg Richter wrote: >>Frage: >>wie kommt man denn nun an die 'affected rows' ? <gruebel> >> > > <zitat> > mysql_affected_rows -- Get number of affected rows in previous MySQL operation > </zitat> Genau an der zweifel ich, Georg. Sonst würde es folgenden, bekannten PHPLib Session-Bug nicht geben, den ich erst vor zwei Tagen kennengelernt habe. Die PHPLib versucht folgende Kette: update affected_rows select auf update Daten insert Wenn UPDATE-Query ausgeführt und keine Zeilen betroffen, dann kontrolliere die Einfügung mit SELECT und mache ggf. ein INSERT. Diese wirklich konservative, vorsichtige Kette flog mir um die Ohren: Update Ok, 0 affected rows, select zeigt leeren Resultset, insert schlägt aufgrund eines duplicate key fehlt, der nur entstehen kann, wenn das update funktioniert. Legst Du ein usleep(100) hinter das affected_rows, klappt es. Da stimmt in einigen MySQL Versionen etwas nicht. Der DB-Server meldet die Einfügung erst verspätet an den Client. Dagegen ist man machtlos, deswegen die vorgeschlagenen Auswege PostgreSQL oder versuchen über eine UDF eine Triggertable zu verändern. Ulf -- Jobgesuch: Anwendungsentwicklung, Schwerpunkt PHP in HH Berufserfahrung, Kongressannahmen... http://www.ulf-wendel.de
php::bar PHP Wiki - Listenarchive