Vinzenz Mai: JOIN einsetzen statt mit PHP nachzubauen

Beitrag lesen

Hallo Gunnar™

// Hast Du hier die Probleme?
    // Ich verstehe jedenfalls nicht, was Du hier vorhast

$querybetrag= "$Feld" .  $row['par_wert4'];
    $querybem = "$Bem" .  $row['par_wert4'];
    $queryart =$row['par_wert1'];

Ganz bestimmt hast Du hier Dein Problem:

$querybetrag hat als Inhalt die Zeichenkette $Feld-irgendwas
    $querybem                                    $Bem-irgendwas

$queryup[$upx]=  "UPDATE aktion_bew
                      SET akt_betrag = '$querybetrag',

Statt diese Zeichenketten möchtest Du den Inhalt einer Variablen
$Feld-irgendwas bzw. $Bem-irgendwas in Dein Statement einfügen.

SET akt_betrag = '$querybetrag',
                          akt_bem = '$querybem'

Wie ich bereits anmerkte, geht das mit variablen Variablen:

SET akt_bem = '[code lang=php]$$querybem',
    akt_art = '$$queryart'[/code]

Doch woher kommen diese Variablen? In Deinem Codeschnippsel werden sie jedenfalls nicht initialisiert. Kommen sie möglicherweise ebenfalls aus der Datenbank, aus einer vorhergehenden Abfrage? Dann könntest Du Deinen Code eventuell noch zusammenstreichen, indem Du diese Angabe (ja, mittels JOIN) ebenfalls im gleichen Statement ermittelst.

Wenn nicht, so wäre es sicherlich nützlich, diese Informationen statt in Deinen Variablen mit festem Präfix und variablem Suffix in entsprechenden Arrays zu speichern, auf die Du mittels

$Feld[par_wert4] bzw.
    $Bem[par_wert4]

zugreifen kannst. Das ist meiner Meinung nach besser und schöner als die variablen Variablen, von eval (das evil ist ;-)) ganz zu schweigen.

Mehr Hintergrundinformationen wären nützlich, um Dir besser helfen zu können. Es ist ebenso möglich, dass wir Dir empfehlen, Deine DB-Struktur zu optimieren :-)

Freundliche Grüße

Vinzenz