openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit f8da631e43efa6509a202544346a3fbb3004bfed
parent bdbfadf3a656a42cd783d3427c0b8a70c46e3032
Author: dankert <devnull@localhost>
Date:   Thu, 15 Oct 2009 01:39:10 +0200

Korrektur beim Befüllen der SQL-Anweisung mit mehrfach vorkommenden Platzhaltern.

Diffstat:
db/postgresql.class.php | 23++++++++++++++++-------
1 file changed, 16 insertions(+), 7 deletions(-)

diff --git a/db/postgresql.class.php b/db/postgresql.class.php @@ -201,17 +201,26 @@ class DB_postgresql function prepare( $query,$param ) { $nr = 1; - $offset = 0; - foreach( $param as $p) + foreach($param as $name=>$unused_a ) { - foreach( $p as $pos ) + foreach( $param[$name] as $idx=>$xyz ) { - $query = substr($query,0,$pos+$offset).'$'.($nr).substr($query,$pos+$offset); - $offset += strlen((string)$nr)+1; + $pos = $param[$name][$idx]; + + $query = substr( $query,0,$pos ).'$'.$nr.substr( $query,$pos ); + + foreach( $param as $pn=>$par) + { + foreach( $par as $i=>$p ) + { + if ( $p > $pos ) + $param[$pn][$i]=$p+strlen((string)$nr)+1; + } + } } - $nr++; + $nr++; } - + //Html::debug($query); $this->stmtid = md5($query); $this->prepared = true;