Kerstel: mysql-abfrage

Hi,

ich habe eine Klasse programmiert mit der man mysql-Datenbanken leichter abfragen können soll. Eine Funktion davon ist die num_rows($query). wenn ich diese funktion allerdings anspreche bekomm ich die fehlermeldung:

Warning: Supplied argument is not a valid MySQL result resource in class_db.php on line 61

Weiss jemand was das bedeuten kann?

Danke und Gruss

Kerstel

  1. Hi

    Ja das bedeutet Du hast einen Fehler gemacht. Aber welchen??
    Bei solchen Fragen am besten immer den Source Code posten dass man den kurz anschauen kann.

    Gruss Christoph

    1. Hi,

      Ja das bedeutet Du hast einen Fehler gemacht. Aber welchen??
      Bei solchen Fragen am besten immer den Source Code posten dass man den kurz anschauen kann.

      stimmt, hab ich vergesse :)

      der sieht so aus:

      function num_rows($queryhandle) {
         return mysql_num_rows($queryhandle);
      }

      wenn ich es ohne function direkt im script mache, habe ich den code:

      $connect=mysql_connect($db_host,$db_user,$db_pass);
      mysql_select_db($forumid,$connect);

      $sql="SELECT * FROM useronline";
      $anz_user=mysql_num_rows($sql);

      aber den gleichen fehler

      gruss

      kerstel

      1. hi

        machs so:

        ********

        $connect=mysql_connect($db_host,$db_user,$db_pass);
        mysql_select_db($forumid);

        $ergebnis = mysql_query( "SELECT * FROM useronline");
        $anz_user = mysql_num_rows($ergebnis);

        ********

        ohne ein "mysql_query" wirst du schwerlich was rausbekommen ;-)

        Gruss Christoph

      2. Hallo,

        in solchen Fällen dürfte die häufigste Fehlerquelle ein leeres Resulat der Abfrage sein. Bist Du Dir sicher, dass die Anfrage an die DB auch Treffer liefert (und ggf. sollte die in der function auch abgefangen werden)?

        Grüße aus Würzburg
        Julian

        1. hi

          wurde nur der Befehl "mysql_query" vergessen und das ganze als string angegeben

          $ergebnis = "SELECT * FROM useronline"; <-- falsch
          $ergebnis = mysql_query( "SELECT * FROM useronline"); <-- richtig

          Gruss Christoph

          1. Hi,

            wurde nur der Befehl "mysql_query" vergessen und das ganze als string angegeben

            Ok, so genau hab ich's dann doch nicht angeschaut. der Ansatz passte aber ja, dass die Anfrage kein wirkliches Ergebnis lieferte. *kopfausderschlingezieh*

            Grüße aus Würzburg
            Julian

            1. Hi

              Ok, so genau hab ich's dann doch nicht angeschaut. der Ansatz passte aber ja, dass die Anfrage kein wirkliches Ergebnis lieferte. *kopfausderschlingezieh*

              Musst Kopf ned aus Schlinge ziehen. Dein Ansatz war richtig.

              Gruss Christoph

              1. Hi,

                Musst Kopf ned aus Schlinge ziehen. Dein Ansatz war richtig.

                Wie jetzt? Ich soll ihn in der Schlinge drin lassen?? Wieso denn das nu wieder? Was hab ich nur getan??? :`-(

                Grüße aus Würzburg
                Julian

                1. Hi

                  Wie jetzt? Ich soll ihn in der Schlinge drin lassen??

                  Nee war gar nie in Schlinge.. warum denn rausziehen?

                  Wieso denn das nu wieder? Was hab ich nur getan??? :`-(

                  Nix ist ja alles bestens.
                  Wie schon gesagt dein ansatz ist völlig richtig und hätte auch zur lösung geführ..  Habs nur nochmal bei Dir reingeschrieben dass der andere nicht lange rumsuchen muss :-)
                  Tschuldigung wenn ich dich mit dem posting bissel verunsichert hab. War nicht meine absicht und sollte auch in keiner weise ein angriff sein.

                  Grüße aus Würzburg
                  Julian

                  Gruss aus Basel :-)

                  Christoph