openrat-cms

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

commit e8fe73d9bcc7116399ee6a1f30b1c9152a231283
parent 2a39b57db014e60630bbef1a0930e5d8e874e91d
Author: dankert <devnull@localhost>
Date:   Sat, 13 Jan 2007 01:19:32 +0100

Korrektur in Methode "setQuery()"

Diffstat:
serviceClasses/Sql.class.php | 23+++++++++++++++--------
1 file changed, 15 insertions(+), 8 deletions(-)

diff --git a/serviceClasses/Sql.class.php b/serviceClasses/Sql.class.php @@ -100,6 +100,18 @@ class Sql */ function Sql( $query = '' ) { + $this->parseSourceQuery( $query ); + + $this->data = array(); + } + + + + /** + * Die SQL-Anfrage wird auf Parameter untersucht. + */ + function parseSourceQuery( $query ) + { $this->src = $query; // Wir merken uns die Ur-Abfrage, evtl. für Fehlermeldungen interessant. while( true ) // Schleife wird solange durchlaufen, solange Parameter gefunden werden. @@ -120,7 +132,6 @@ class Sql $query = substr($query,0,$posKlLinks).substr($query,$posKlRechts+1); } - $this->data = array(); $this->query = $query; // Tabellennamen in die Platzhalter setzen. @@ -141,13 +152,9 @@ class Sql */ function setQuery( $query = '' ) { - $this->query = $query; - - foreach( table_names() as $t=>$name ) - { - $this->query = str_replace( '{'.$t.'}',$name,$this->query ); - } - + $this->parseSourceQuery( $query ); + + // Bereits vorhande Parameter setzen. foreach( $this->data as $name=>$data ) { if ( $data['type']=='string' ) $this->setString($name,$data['value'] );