SELECT FROM WHERE dynamisch gestalten?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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!

    Comment


    • #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

      Comment


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

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

        Comment


        • #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...

          Comment


          • #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!

            Comment


            • #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?

              Comment


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

                WHERE feld LIKE '%haus%'

                Mehr steht im Handbuch.
                hopka.net!

                Comment


                • #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...

                  Comment


                  • #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!

                    Comment


                    • #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'"


                      Comment


                      • #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 :-(
                        Last edited by 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]

                        Comment


                        • #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.

                          Comment


                          • #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

                            Comment


                            • #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.

                              Comment

                              Working...
                              X