De nachtmerrie van een webdeveloper

Het moest er ooit eens van komen, ik wilde net de site optimaliseren maar door één domme, -jawel één domme, u leest het goed-, MySQL-query is héél de site naar de klote.

Ik wilde al de <br /> elementen in elk afzonderlijk item vervangen door een newline, met in het achterhoofd dat dit erg simpel kon. Blijkbaar had ik ongelijk en was ik iets te nonchalant. Ik had namelijk één ding over het hoofd gezien en dat was het feit dat de betreffende MySQL tabel gebruik maakt van een datetime veld. Dit veldtype heeft de eigenschap dat het elke INSERT/UPDATE query ook update met de NOW() waarde. Dit gaf als resultaat dat alle entries (bijna toch, uitgezonderd de entries die geen <br />elementen bevatten.) de huidige tijd kregen.

Geen probleem hoor ik u al denken. Toch wel, ik maak namelijk geen backup’s! Maar gelukkig heb ik toch al één het ander kunnen rechtzetten. Zo worden momenteel enkel de laatste 10 entries getoond.

Verder heb ik elk item nu geupdate met de tijd van de eerst geplaatste reactie op dat item. Jammer genoeg is er niet op elk item een reactie. Dat klinkt allemaal erg ingewikkeld niet? Er is nog hoop, tenminste als onze webhoster nog een recente backup heeft gemaakt van de betreffende database tabel.

Enfin, wat ik eigenlijk wilde bereiken was dus het aanpassen van die <br /> elementen naar <p>elementen. Weg met die verouderde nl2br() PHP functie. Dat is ook gelukt dankzij een handig regulière expressie van Matt Mullen.

Werk al uw woede of frustraties maar op mij uit, ik geef u volkomen gelijk. Ik heb vandaag denk ik veel bijgeleerd.
Werk nooit in de productiedatabase en neem regelmatig een backup. Maar dat wisten jullie allemaal ongetwijfeld al.

Leave a Reply

Your email address will not be published. Required fields are marked *