Problem mit mysql_num_rows

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

  • Problem mit mysql_num_rows

    hi

    ich wollte für mein rechtesystem eine funktion schreiben und ein teil davon gibt nur eine error meldung aus. die variablen $rightgroup und $option sind beide gesetzt.

    weiss jemand was da falsch ist?

    danke

    PHP-Code:
    $sql2="SELECT id
        FROM rights
        WHERE groupid='"
    .$rightgroup."' AND option='".$option."' OR option ='ALL' 
        LIMIT 1"
    ;
        
    $result2 mysql_query($sql2);
    if ( 
    mysql_num_rows($result2)==1
        {
            return 
    true;
        }
      else {
          return 
    false;
          } 
    Fehlermeldung:
    Code:
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in 
    /home/.../functions.php on line 62
    Zuletzt geändert von PHPbeginner; 23.01.2005, 21:03.

  • #2
    Ich würd dir mal empfehlen, mal mysql_error(); zu benutzen
    Zuletzt geändert von Deathrow; 23.01.2005, 18:01.
    Mit freundlichem Gruß,
    Deathrow

    Kommentar


    • #3
      Hier der MySQL Error:

      Code:
      You have an error in your SQL syntax. 
      Check the manual that corresponds to your MySQL server version for the right syntax to use near
       'option='ADMCP' OR option ='ALL' LIMIT 1' at line 3
      Zuletzt geändert von PHPbeginner; 23.01.2005, 21:03.

      Kommentar


      • #4
        oder so ?

        hi.

        ich hatte mal mit dem selben problem zu tun.
        da gibts die wohl möglichkeit diesen befehl zu verwenden:

        mysql_numrows()

        sorry, ich weis nicht genau warum, aber das ist wohl ne kompatibilitätsfrage.

        keine garantie, aber probiers einfach mal.

        ciao


        nachtrag:
        hab eben die error-rport meldung gelesen.
        jetzt: fraglich, ob mein tip was bringt.
        Zuletzt geändert von peetjoff; 23.01.2005, 18:14.

        Kommentar


        • #5
          brich den code um!
          und guck dir die query an, nämlich zwischen der zusammenstellung und der ausführung, mit die() oder so.

          Kommentar


          • #6
            http://dev.mysql.com/doc/mysql/en/reserved-words.html
            Die Zeit hat ihre Kinder längst gefressen

            Kommentar


            • #7
              Dann liegt es wohl daran das eine Spalte "option" heisst? Wenn ja, gibt es dann noch eine Möglichekeit das zu umgehen oder muss ich die Spalte umbenennen?

              Kommentar


              • #8
                nachdem du deinen beitrag editiert hast und den code lesbarkeitshalber umgebrochen hast, setzst du das wort option in backticks.

                Kommentar


                • #9
                  Okay es funktioniert nun.

                  Ich hab aber noch ne andere Frage: mein query ist ja im moment so aufgebaut:

                  [grouip=?, und option=???] ODER [option=ALL]

                  ich will aber das die bedingungen so aufgebaut sind:

                  [grouip=?, und option=???] ODER [grouip=?, und option=ALL]

                  Kommentar


                  • #10
                    grouip ausklammern, der rest dann in die klammer. logisch drüber nachdenken

                    Kommentar


                    • #11
                      die klammern sind deine freunde.

                      Kommentar


                      • #12
                        die klammern sind deine freunde.
                        OffTopic:
                        klar, wenn man sonst keine hat...

                        Kommentar


                        • #13
                          OffTopic:

                          "kennen sie das - sie haben mehr erdnußflips, als freunde?" © schlechte comedy-serie auf einem schlechten sender.

                          Kommentar

                          Lädt...
                          X