Thread Auch PHP ...
(15 answers)
Opened by rosti at 2020-12-30 13:23
Moin ;)
Mit prepared Statements bist Du auf jeden Fall abgesichert. Andererseits hast Du was Du explizit verwenden kannst um SQL Injekts zu vermeiden. Der Sinn von prepared Statements wird hier deutlich: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 function _fetch_mesg($mesgid){ if( ! isset($this->STH_FETCH_MESG) ){ $this->STH_FETCH_MESG = $this->DBH->prepare(" SELECT *, DATEDIFF(NOW(), mesgdate) as age FROM $this->TABN WHERE mesgid=?"); } $this->STH_FETCH_MESG->execute(array($mesgid)); $mesg = $this->STH_FETCH_MESG->fetchAll(); if( empty($mesg) ){ dd("Diese Nachricht existiert nicht!"); } return $mesg[0]; } Der Statementhandler wird in einer Eigenschaft Deiner Hauptinstanz gepuffert. Das ist zwar PHP aber die Zweckbestimmung ist klar, beim nächsten Aufruf der Funktion liegt STH bereits vor und muss nur noch mit dem mitgegebenem Platzhalter gefeuert werden. Ich hatte mal ein ziemlich umfangreiches Skript mit vielen solcher Statements, die alte Version ohne prepared STH brauchte 2 Minuten, die neue Version mit STH nur noch 10 Sekunden. Weitermachen ;) |