durch bedingung eine WHERE bedingung erweitern

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

  • durch bedingung eine WHERE bedingung erweitern

    guude folgende query. ich würd gerne anhand einer bedingung eine WHERE bedingung erweitern

    PHP-Code:

    $check 
    mysql_query("SELECT * FROM user WHERE STRCMP(user_name, '".escaper($user)."') = 0 AND user_pass = 
    MD5('"
    .escaper($pass)."') IF(user_level = 'user', AND user_ip REGEXP  '^".MAKE_SUBMASK(GET_IP()).".*','') LIMIT 1"); 
    so geht nicht? gehts überhaupt? und wenn ja wie?. btw user_level ist eine weitere spalte in der tabelle.

    jemand einen vorschlag?

    later

    fra*
    Zuletzt geändert von frank7l7; 23.02.2006, 09:52.

  • #2
    du bist lange genug dabei, LESEN http://www.php-resource.de/forum/sho...threadid=50454

    Beim nächsten mal, werde ich jeden Thread von dir schliessen, wenn er meine Bildschirmbreite strapaziert

    Kommentar


    • #3
      sorry hat ich net dran gedacht!

      Kommentar


      • #4
        das geht bestimmt ...

        du mußt anders verknüpfen, IF liefert dir lediglich 0 oder 1 ... das müßte gehen ...

        stell mal eine wahrheitstabelle auf, dann siehst du bestimmt klarer ...

        edit: wenn du das IF einfach mit nem AND dranknüpfst, im true-bereich das regexp-dingens und im false-fall eine 1 zurückgibst?
        Zuletzt geändert von derHund; 23.02.2006, 10:21.
        Die Zeit hat ihre Kinder längst gefressen

        Kommentar


        • #5
          was meinst du den mit wahrheitstabelle? is ja wie in der schule? in der pause

          kannst du das nochmal näher erläutern?

          fra*

          Kommentar


          • #6
            siehe edit ...

            erstmal brauchste gültige syntax, dann kannste schauen, ob die logik stimmt.

            Code:
            SELECT *
            FROM   user
            WHERE  STRCMP(user_name, 'foo') = 0
            AND    user_pass = MD5('bar')
            AND    IF(user_level = 'user', user_ip REGEXP '^127.*', 1)
            LIMIT  1
            sollte wenigstens syntaktisch passen?

            müßte doch auch mit normalem OR/AND gehen? ohne testmöglichkeit ists .... nicht einfacher.
            Die Zeit hat ihre Kinder längst gefressen

            Kommentar


            • #7
              guude,

              bingo fkt auf anhieb, ... ahh wieder was gelernt dank dir

              danke

              Kommentar

              Lädt...
              X