Dynamische Abfrage

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Dynamische Abfrage

    N'abend,


    meiner einer mal wieder...

    Ich versuche grade eine dynamische Abfrage zu konstruieren, aber, wie soll es auch anders sein, es will mir nicht wirklich gelingen.

    Je nach (eingeloggtem!) Besucher soll die Abfrage anders durchgeführt werden.

    Folgendermassen schauts bisher aus:

    PHP-Code:
    $un search('UserName');
    $sql "SELECT '$un' FROM bew_main WHERE phase_status = '1' ORDER BY id LIMIT 1";
    $result mysql_query($sql) or die(mysql_error());
    $row mysql_fetch_array($result);
    $oid $row["{$un}"]; 
    Die erste Zeile ermittelt lediglich den UserNamen des Besuchers..
    In der zweiten Zeile findet nun die eigentliche Abfrage statt (die Tabelle ist so konstruiert, dass jene die darauf Zugriff haben, dort auch gespeichert sind (daher das '$un' darin))
    Zweck dieser Abfrage ist es, den in einer anderen Tabelle gespeicherten Inhalt zu erfahren. Gebe ich nun $oid aus, so erscheint der Besuchernamen darin und nicht der Inhalt (also den Inhalt).

    Es müsste doch möglich sein, ein row variabel darzustellen, oder irre ich da?

    In $oid müsste ich also den Inhalt erfahren, genau das will ich damit erfragen. *g*


    Gruss und Danke.

  • #2
    wow, ich hab absolut nicht verstanden, was du vorhast, aber mal zum Nachdenken folgendes:

    Deine Query wird immer nur den UserName zurückgeben, weil du immer den Ausdruck '$un' abfragst und der ist nunmal gegenüber der Datenbank statisch. Mit 'Inhalt' meinst du sicher einen Datensatz. Also wohl etwa sowas wie
    SELECT feld1,feld2 FROM ... WHERE ... userName = '$un'

    zum Testen solltest du immer eine Ausgabe des result Arrays machen
    print_r($row)

    Und ich schlage vor du gibst ein wenig von deiner Datenbankstruktur zum Besten und erklärst, worum genau es eigentlich geht...

    Kommentar


    • #3
      Noch 2 kleine Hinweise:

      1. SQL-Injections sind bei dir ggf. nicht ausgeschlossen
      2. Anstelle von $oid = $row["{$un}"]; bitte $oid = $row[$un]; verwenden. Das ist viel (!) sauberer!
      Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
      var_dump(), print_r(), debug_backtrace und echo.
      Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
      Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
      Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

      Kommentar

      Lädt...
      X