SELECT FROM WHERE dynamisch gestalten?

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

  • SELECT FROM WHERE dynamisch gestalten?

    Hi,
    also ich suche jetzt schon einige Wochen im Netz (u.a. hier im Forum) und werde einfach nicht fündig, oder ich bin zu dumm zum suchen

    Kann mir jemand nen HInweis oder Tipp geben??? Wre echt nett...

    Worum es geht?

    Also jeder wird wohl die MySQL DB Anfrage kennen:
    PHP-Code:
    "SELECT * FROM datenbank WHERE feld = $wert "
    nun ist meine Frage, ob und wie ich den wert
    PHP-Code:
    feld $wert 
    dynamisch gestalten kann. Ich dachte mir man kann den doch einfach ersetzen, also mach ich einfach:
    PHP-Code:
    $ersetzt = (feld $wert); 
    und rufe dann die Abfrage wie folgt auf:
    PHP-Code:
    "SELECT * FROM datenbank WHERE $ersetzt "
    Das geht aber in die Hose. Kann mir jemand den Fehler sagen oder wie man diesen WHERE Wert anders setzen kann?

    Danke schonmal für HInweise, Tipps und evtl auch Tritte mit den Füßen falls ich so simples nicht gesehen hab.

  • #2
    Re: SELECT FROM WHERE dynamisch gestalten?

    PHP-Code:
    $ersetzt 'feld = ' $wert
    evtl. noch ein paar Anführungszeichen ergänzen.
    hopka.net!

    Kommentar


    • #3
      Hallo, danke für die Antwort.

      Hab nun folgendes:

      PHP-Code:
      "SELECT * FROM bild_login ORDER BY user, id WHERE $ersetzt"
      und halt
      PHP-Code:
      $wert 'nick' ;
      $ersetzt 'user = ' $wert
      Also in der Datenbank wird gesucht in Spalte "user" nach "nick"

      Geht aber nicht, da kommt halt nur
      PHP-Code:
      if (!$zeilen) die("Anfrage war nicht erfolgreich"); 
      also Hinweis: Anfrage war nicht erfolgreich.

      Habs auch mit " probiert und anstatt $wert hab ich gleich 'nick' eingegeben also
      PHP-Code:
      $ersetzt 'user = ' nick
      aber das lief alles auf das selbe hinaus, auf den Hinweis: Anfrage war nicht erfolgreich.

      Weiß du/jemand weiter oder fällt wem spontan ne Variante ein, wo man evtl noch ein " oder ' hinsetzen könnte oder wo evtl ein . vergessen wurde ?

      MFG

      Kommentar


      • #4
        PHP-Code:
        $ersetzt 'user = ' $nick
        beim letzten fehlte ein $

        ansonsten wurde der eintrag nicht gefunden in der DB
        hopka.net!

        Kommentar


        • #5
          ne, es soll nicht $nick sondern nur nick heißen weil nur in der spalte user nach dem Namen nick gesucht wird... oder muss ich da trozdem ein $ setzen?

          habs mal einfach ausprobiert aber es kommt nur der Hinweis das Anfrage nich erfolgreich war...

          Kommentar


          • #6
            Ja, wenn du in der Spalte user nach nick suchen willst muss es so aussehen:
            PHP-Code:
            $ersetzt "user = 'nick'"
            musst allerdings dann auch Groß- / Kleinschreibung beachten, es muss exakt übereinstimmen, damit er das findet.
            hopka.net!

            Kommentar


            • #7
              geht nicht da kommt das die Anfrage nicht erfolgreich ist, hab alles kontroliert, DB, Passwort ...

              und so gemacht wie du eben gesagt, geht nicht...

              weißt du zufällig wie das heißt um einen wert aus DB zu suchen der es beinhaltet also wenn ich alle einträge haben will mit AUS , dass der dann auch z.B. hAUS und AUSsuchen als wörter aus DB findet?

              Kommentar


              • #8
                Ja, Ähnlichkeiten findest du mit LIKE, % _ usw.

                WHERE feld LIKE '%haus%'

                Mehr steht im Handbuch.
                hopka.net!

                Kommentar


                • #9
                  vielen dank... wer da mal schaun

                  aber da haben wir ja wieder WHERE feld ... aber gerade das nach WHERE wollt ich ersetzt haben und es funktioniert nicht... kann garnicht sein wo ist nur der fehler...

                  Kommentar


                  • #10
                    Das sollte jetzt aber nicht so schwer sein, dass "ersetzen" noch einzubauen, oder?

                    übrigens:
                    PHP-Code:
                    "SELECT * FROM bild_login ORDER BY user, id WHERE $ersetzt"
                    Das ORDER BY user,id gehört normalerweise hintendran.
                    hopka.net!

                    Kommentar


                    • #11
                      natürlich ist das nun nicht mehr schwer aber was hilfts wenn ichs eingebaut hab und es nicht funktioniert. Die Abfrage funktioniert einfach nicht. Das mit Order BY hab ich momentan zum testen ganz raus und hast recht, normalerweise kommts hintendran... macht mehr Sinn

                      aber es funktioniert nicht das

                      PHP-Code:
                      WHERE  $ersetzen
                      $ersetzen 
                      "user = 'nick'"


                      Kommentar


                      • #12
                        PHP-Code:

                        $user 
                        $_GET['userinput'];

                        $query 'SELECT forename,surename FROM MyTable WHERE username LIKE /''.$user.'/' ORDER BY forename ASC'
                        sollte wunderbar funktionieren.
                        ebenso sollte

                        PHP-Code:

                        $seekvalue 
                        $_GET['seekvalue'];
                        $seekfor $_GET['seekfor'];

                        switch(
                        $seekfor)
                        {
                            case 
                        0:
                                
                        $seekfield 'forname';
                                break;
                            case 
                        1:
                                
                        $seekfield 'surename';
                                break;
                            default:
                                die();
                        }

                        $query 'SELECT blah,blub FROM mytable WHERE '.$seekfield.' = /''.$seekvalue.'/' LIMIT 0,1'
                        auch funzen.....

                        [ Die Slashes bitte zu Backslashes machen denn Backslashes verschluckt das Forum :-(
                        Zuletzt geändert von socket_shock; 07.03.2004, 20:52.
                        [font=verdana] '][' .... düdeldüdel dü

                        Gruss Socket
                        -----
                        Nein, ich programmiere kein Clan-Script für Dich, nein, auch nicht wenn Deine Schwester gut aussieht!
                        [color=darkblue]
                        Socket Funktionen[/color]
                        [/font]

                        Kommentar


                        • #13
                          socket_shock hat recht - die WHERE-klausel muss vor dem ORDER BY stehen.
                          I don't believe in rebirth. Actually, I never did in my whole lives.

                          Kommentar


                          • #14
                            das zweite beispiel versteh ich nicht wirklich daher mal zum ersten... wo um himmelswillen kommt dieses $_GET her ?

                            wahrscheinlich wegen diesem LIKE....

                            aber ich glaub ich bin echt zu dumm zum suchen, denn im Handbuch finde ich das nicht... kann sich nur um stunden handeln

                            Kommentar


                            • #15
                              Original geschrieben von Chipson
                              wo um himmelswillen kommt dieses $_GET her ?
                              LESEN!
                              I don't believe in rebirth. Actually, I never did in my whole lives.

                              Kommentar

                              Lädt...
                              X