Toni: Warning: mysql_num_rows()

Hilfe,

vielleicht kann mir einer von Euch helfen. Ich bin PHP-Neuling und bin dabei eine Webseite zu basteln, die auf eine Datenbank zurückgreift. Dabei hab ich ein Script, dass die Klassen definiert, damit ich auf bestimmte Funktionen (readrow, getnum) Zugriff habe.

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource

Quelltextauszug der klassen.php3:
class shopdb {
  var $z;
  var $row;
  var $num;
  function getnum($query){
     $this->z=0;
     $this->num=mysql_num_rows($query);
     }
  function readrow($query){
   $this->row=mysql_fetch_array($query, MYSQL_ASSOC);
   foreach ($this->row as $k=>$elem) {
     $this->$k=$elem;
     }
   $this->z++;
   }
}  //shopdb

Vielen Dank im Voraus.

MfG Toni

  1. hi,

    Ich bin PHP-Neuling und bin dabei eine Webseite zu basteln, die auf eine Datenbank zurückgreift.

    gut - dann merke dir bitte ab jetzt und für bis in alle ewigkeit, immer die funktion mysql_error() zu benutzen, wenn du eine abfrage an die datenbank absetzt.

    den diese meldung

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource

    besagt, dass dir die DB kein gültiges ergebnisdatenset zurückgegeben hat - vermutlich deshalb, weil dDB-seitig ein fehler auftrat.

    gruß,
    wahsaga

    --
    "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
    1. Hello,

      gut - dann merke dir bitte ab jetzt und für bis in alle ewigkeit, immer die funktion mysql_error() zu benutzen, wenn du eine abfrage an die datenbank absetzt.

      denn diese meldung

      Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource

      besagt, dass dir die DB kein gültiges ergebnisdatenset zurückgegeben hat - vermutlich deshalb, weil dDB-seitig ein fehler auftrat.

      Wurde denn überhauüt eine Connection zum Server und ein Use auf die DB durchgeführt?
      Und dann wäre noch das Select-Statement interessant zu wissen...

      Harzliche Grüße aus http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
      1. hi,

        Wurde denn überhauüt eine Connection zum Server und ein Use auf die DB durchgeführt?
        Und dann wäre noch das Select-Statement interessant zu wissen...

        ja, und des weiteren wäre interessant zu wissen, was an dieser stelle

        function readrow($query){
           $this->row=mysql_fetch_array($query, MYSQL_ASSOC);

        als parameter $query übergeben wird.

        gruß,
        wahsaga

        --
        "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
  2. Moin!

    Quelltextauszug der klassen.php3:
       $this->num=mysql_num_rows($query);
       $this->row=mysql_fetch_array($query, MYSQL_ASSOC);

    Weder mysql_num_rows() noch mysql_fetch_array() beziehen sich auf die Querry (also Abfrage). beide benutzen als Argument das Resultat.

    Ansonsten lies bitte hier weiter:
    </archiv/2004/3/76197/#m438820>

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix®

    --
    Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.