Hallo ihr Lieben,
ich benötige ein paar Ideen, wo ich noch nach dem Fehler suchen kann :-(
Ich möchte ein int-Feld in der Datenbank um eins erhöhen. Dafür benutze ich die Zeile:
$GLOBALS['TYPO3_DB']->exec_UPDATEquery('tx_tabelle',' uid='.$this->piVars['ext_id'].' ',array('shown'=>$row['shown']+1));
Eigentlich keine große Sache - Aber...es wird immer nicht plus eins sondern plus zwei in die Tabelle geschrieben.
Ich habe also den Wert von $row['shown'] direkt vor dem Update ausgeben lassen - der stimmt aber mit dem aktuellen Wert in der Tabelle überein -> 41.
Dann habe ich mir das SQL im Browser mit
print $GLOBALS['TYPO3_DB']->UPDATEquery('tx_tabelle',' uid='.$this->piVars['ext_id'].' ',array('shown'=>$row['shown']+1));
ausgeben lassen und das stimmt auch:
UPDATE tx_tabelle SET shown='42' WHERE uid=1
Nach dem Ausführen des Update habe ich allerdings 43 in der Tabelle stehen!
Wo kann ich hier noch nach dem Fehler suchen?! Was könnte dieses eigenmächtige Vorgehen erklären?
Besten Dank an euch!