Einzelnen Beitrag anzeigen
  #1  
Alt 06.12.06, 23:45
hiking man hiking man ist offline
Forum Zuschauer
 
Registriert seit: 06.12.06
Alter: 40
Beiträge: 6
Frage

Fehler mit WHERE Parameter in einer Query, Wert mit Variable übergeben


Hallo zusammen

Fragen:
Wie verwende ich Variabeln in einem Query beim WHERE Parameter?
Wie wende ich bei $GLOBALS['TYPO3_DB']->exec_SELECTquery den $ where_clause Parameter an?


Mein Problem:
Ich schaffe es nicht, dass in einem Query der Parameter WHERE meine Variable verarbeitet.
Und ich verstehe nicht wie ich in einem solchen Query den Parameter $ where_clause anwendet!


Meine Absicht:
In der Funktion 1 fülle ich eine Variable ab mit dem aktuellen Wert aus einer Datenbankabfrage.
Diesen Wert möchte ich in der Funktion 2 als Parameter WHERE in einem Query verwenden.


Hier die Definition der Variable $sectionPointer:

PHP-Code:
function singleView($content,$conf)    {
...
    
$this->internal['currentTable'] = 'user_trails_trail';
    
$this->internal['currentRow'] = $this->pi_getRecord('user_trails_trail',$this->piVars['showUid']);
    
$sectionPointer $this->internal['currentRow']['section'];
... } 
Der $sectionPointer hat jetzt im Test den Wert 33


Hier die Übergabe der Variable an das Query:


Versuch 1 mit mysql(TYPO3_db,$query)

PHP-Code:
function singleViewLodge($content,$conf)    {
...
    
$query 'SELECT * FROM user_trails_lodge WHERE section=33'.$this->cObj->enableFields('user_trails_lodge');
    
$res mysql(TYPO3_db,$query);
    
$row=mysql_fetch_assoc($res);
            
    
debug($row);
... } 
Wenn ich den Wert 33 'hart' definiere funktioniert das Query und ich erhalte mein gewünschtes Ergebnis.

Ich muss aber den Wert 33 mit einer Variable ersetzen.


Versuch 2 mit $GLOBALS['TYPO3_DB']->exec_SELECTquery

PHP-Code:
function singleViewLodge($content,$conf)    {
...
    
$res $GLOBALS['TYPO3_DB']->exec_SELECTquery('*''user_trails_lodge''section=33');
    
$row=mysql_fetch_assoc($res);
        
    
debug($row);
... } 
auch hier, Wenn ich den Wert 33 'hart' definiere, funktioniert das Query und ich erhalte mein gewünschtes Ergebnis.
Wie verwende ich hier die Variable?



Meine Quellen:
Ich habe bereits die API Doku auf typo3.org konsultiert, aber ich werd einfach nicht schlau daraus!

Wie verwende ich den Parameter $ where_clause ?


Aus API:

t3lib_DB.exec_SELECTquery ( $ select_fields,
$ from_table,
$ where_clause,
$ groupBy = '',
$ orderBy = '',
$ limit = ''
)

Creates and executes a SELECT SQL-statement Using this function specifically allow us to handle the LIMIT feature independently of DB. Usage count/core: 340

Parameter: $ where_clause,

string Optional additional WHERE clauses put in the end of the query. NOTICE: You must escape values in this argument with $this->fullQuoteStr() yourself! DO NOT PUT IN GROUP BY, ORDER BY or LIMIT!




Es ist bestimmt einfach..., wenn man weiss wie und warum


Besten Dank für jede Hilfe!

Gruss Freeman alias hiking man
Hiking Trail / Via Alpina / Pacific Crest Trail PCT

.
Mit Zitat antworten