[MySQL 3.23.X] like

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

  • [MySQL 3.23.X] like

    In meiner DB sind verschiedene Spalten die ich miteinnander verknüpfe

    PHP Code:
    $a=mysql_query("SELECT p1.id, p1.vorname, p1.nachname, p3.name, p2.verguetung, p2.mitglied_id 
    FROM pay_bestellung p1 
    INNER JOIN pay_ref p2 
    ON p2.bestellung_id = p1.id 
    INNER JOIN pay_produkte p3 
    ON p3.id = p2.produkt_id
    where
    p1.vorname like '%
    $_POST[suche]%'
    and p2.status != '1'
    "
    ) or die(mysql_error()); 
    So jetzt klappt alles und er sucht mir erfolgreich nach

    PHP Code:
    p1.vorname like '%$_POST[suche]%' 
    Wenn ich jetzt nach vorname und nachname suchen möchte sollte doch ein einfaches "or" reichen oder nicht?

    Dies trifft leider nicht zu denn dann funktioniert das ganze auf einmal nicht mehr...


    Oder liegt da in meinem Kopf wieder die Logik falsch

  • #2
    warum postest du code der funktioniert, anstatt mal den echten (!) query zu posten, der nicht funktioniert. Aber bitte den Query, den du an die Datenbank sendest, nicht irgendeine Variablendefinition, die zufällig $sql oder so heißt.

    Comment


    • #3
      Der funktioniert z.B nicht... (nicht schwer zu versetehn oder?)

      PHP Code:
      $a=mysql_query("SELECT p1.id, p1.vorname, p1.nachname, p3.name, p2.verguetung, p2.mitglied_id 
      FROM pay_bestellung p1 
      INNER JOIN pay_ref p2 
      ON p2.bestellung_id = p1.id 
      INNER JOIN pay_produkte p3 
      ON p3.id = p2.produkt_id
      where
      p1.vorname like '%
      $_POST[suche]%'
      or
      p1.nachname like '%
      $_POST[suche]%'
      and p2.status != '1'
      "
      ) or die(mysql_error()); 

      @TobiaZ
      Bist ja ein ganz netter

      Comment


      • #4
        die query sucht jetzt nach:

        p1.vorname like '%$_POST[suche]%'
        ODER
        p1.nachname like '%$_POST[suche]%' and p2.status != '1'

        vielleicht mal ne klammer setzen?


        PHP Code:
        WHERE 
            
        (p1.vorname like '%$_POST[suche]%' OR  p1.nachname like '%$_POST[suche]%')
        AND 
            
        p2.status != '1' ... 
        Kissolino.com

        Comment


        • #5
          Hast du mein Posting überhaupt gelesen? Ich hab doch schon extra geschrieben, dass du den Query posten sollst, der an die DB gesendet wird. und was machst du? nimmst den, der im PHP-Quelltext steht. Dassa PHP und SQL was grundverschiedenen ist, weißt du?

          Comment


          • #6
            @Wurzel
            Danke klappt wunderbar

            @Tobiaz
            Ja ich weis das PHP und MySQL zwei verschiedene dinge sind

            Allerdings wusste ich nicht was du damit meinst, war nen bissel komisch ausgedrückt (in meinen Augen)

            Comment


            • #7
              tobi bezog sich darauf:
              PHP Code:
              "... p1.vorname like '%$_POST[suche]%' ..."
              //^^ böse

              "... p1.vorname like '%".$_POST['suche']."%' ..."
              //^^ besser 
              Kissolino.com

              Comment


              • #8
                Wieso?

                Comment


                • #9
                  variablen in strings kommt nicht so gut ... und array-werte noch weniger,
                  mal klappts, mal nicht ... ist in jedem fall sicherer, variablen vom string zu
                  isolieren.
                  Kissolino.com

                  Comment


                  • #10
                    Original geschrieben von Wurzel
                    variablen in strings kommt nicht so gut ... und array-werte noch weniger,
                    mal klappts, mal nicht ... ist in jedem fall sicherer, variablen vom string zu
                    isolieren.
                    ok wieder was neues über Sicherheit gelernt

                    Danke für die Erklärung

                    Comment


                    • #11
                      @Wurzel: Noch nicht mal

                      was ist daran so komisch ausgedrückt:
                      Aber bitte den Query, den du an die Datenbank sendest, nicht irgendeine Variablendefinition, die zufällig $sql oder so heißt.
                      sendest du etwa eine verknüfung von variablen und strings an die DB? NEIN. Nur einen Query. Und der ist im Regelfall ein String!

                      Comment


                      • #12
                        Original geschrieben von TobiaZ
                        @Wurzel: Noch nicht mal
                        OffTopic:
                        schade ... ich dachte die neue glaskugel wäre ein besseres modell
                        Kissolino.com

                        Comment


                        • #13
                          OffTopic:
                          Jetzt sag bloß, mit der neuen Kugel gehts bei dir auch Sonntags? Echt klasse. Ich bin ja seit langem über ein Firmware Upgrade am überlegen.

                          Comment

                          Working...
                          X