Funf: Kleiner Fehler im SQL-Befehl?

Warning: Supplied argument is not a valid MySQL result resource on line 9

08 $ergebnis = mysql_query($abfrage);
09 if (mysql_num_rows($ergebnis)==1)
10 { $wert = mysql_fetch_array($ergebnis);
11 $id = $wert[0];
12 $level=$wert[3];
13 session_register("id","level");
14 header ("Location: /login/index.php");
15 }

Kann mir jemand vielleicht verraten, was mit der Zeile 09 nicht stimmt?

  1. Warning: Supplied argument is not a valid MySQL result resource on line 9

    08 $ergebnis = mysql_query($abfrage);
    09 if (mysql_num_rows($ergebnis)==1)
    10 { $wert = mysql_fetch_array($ergebnis);
    11 $id = $wert[0];
    12 $level=$wert[3];
    13 session_register("id","level");
    14 header ("Location: /login/index.php");
    15 }

    Kann mir jemand vielleicht verraten, was mit der Zeile 09 nicht stimmt?

    Ja: "Supplied argument is not a valid MySQL result resource". Auf Deutsch: Das angegebene Argument ist keine gültiges MySQL-Objekt". Auf Zeile 9 bezogen heißt daß, daß das Argument $ergebnis, daß Du der Funktion mysql_num_rows() unterzujubeln versuchst, kein "MySQL-Ergebnis" enthält.

    Dein Problem ist eine Zeile höher, Du hast dort schlicht und ergreifend vergessen zu prüfen, ob Deine Anfrage an MySQL überhaupt erfolgreich war.

    So ist's besser:

    if (! $ergebnis = mysql_query($abfrage))
      {
       echo $abfrage ." - ". mysql_error();
      }
     else
      {
       if (mysql_num_rows($ergebnis)==1)
       [..]

    Meiner Weisheit zufolge wird er dann über irgendwas in Deiner SQL-Anfrage meckern..

    Gruß,
      soenk.e

  2. Huhu funf

    Warning: Supplied argument is not a valid MySQL result resource on line 9

    08 $ergebnis = mysql_query($abfrage);
    09 if (mysql_num_rows($ergebnis)==1)

    Kann mir jemand vielleicht verraten, was mit der Zeile 09 nicht stimmt?

    Supplied argument -> $ergebnis

    not a valid MySQL result resource ->d.h. Query in Zeile 8 war nicht erfolgreich

    ergo stimmt etwas mit $abfrage nicht.

    Hilfreich wäre es daher sich die mysql-Fehlermeldung anzeigen zu lassen.

    Viele Grüße

    lulu