Fehlermeldung bei "mysql_fetch_array"

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

  • Fehlermeldung bei "mysql_fetch_array"

    Ich hoffe es kann mir jemand helfen, ich bin blutiger Anfänger.

    Ich habe ein Script das Daten aus MySQL auslesen soll, und dann in HTML darstellen soll.
    In Zeile 6 + 8 bleibt das Script aber hängen und ich bekomme die Fehlermeldung:

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in d:\programme\wamp\homepages\extra\admin\options.php on line 6

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in d:\programme\wamp\homepages\extra\admin\options.php on line 8
    Ich habe schon viel versucht, habe aber keine Ahnung wo der Fehler liegt. Gibt es einen alternativen Befehl der das gleich bewirkt aber keinen Fehler bringt.

    Hier das Script


    PHP-Code:
     if ($action == "options_view"){
     if(
    $count == "*"$desc "";
     else 
    $desc " Limit 0,".$count;
     
    $query "SELECT * FROM _options ORDER by optid ".$desc;
     if (
    $mode == 1$query .= " DESC";
     while (
    $res mysql_fetch_array ($opt1)){
       
    $von_query $db_zugriff->query("SELECT * FROM _user WHERE userid = $res[senderid]");
       while (
    $u mysql_fetch_array($von_query)) $von $u[username];
       
    $an_query $db_zugriff->query("SELECT * FROM _user WHERE userid = $res[recipientid]");
       while (
    $a mysql_fetch_array($an_query)) $an $a[username];
       
    $date_pre date("j.m.Y",$res[sendtime]);
       
    $time_pre date("G:i:s",$res[sendtime]);
       
    $date "Am ".$date_pre." um ".$time_pre." Uhr";  
       eval (
    "\$optbit .= \"".gettemplate("options_viewbit")."\";");
     }
     eval(
    "dooutput(\"".gettemplate("options_view")."\");");
    }
    if (
    $action == "options") eval("dooutput(\"".gettemplate("options")."\");"); 
    Zuletzt geändert von Ninn; 12.07.2004, 15:50.

  • #2
    was sagt denn mysql_error() ?
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Wie wäre es, wenn du mit mysql_query die Datenbankabfrage auch asuführen würdest ?


      An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

      Kommentar


      • #4
        Original geschrieben von MaxP0W3R
        Wie wäre es, wenn du mit mysql_query die Datenbankabfrage auch asuführen würdest ?
        das macht er doch.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Re: Fehlermeldung bei "mysql_fetch_array"

          Ähmm, nun ja. Scheinbar vermischt du hier pear::db und direkten mysql-Zugriff, oder? Ich steige nicht so ganz durch was du machst.

          Wenn du schon einen DB-Wrapper nimmt (was nebenbei eine SEHR gute Idee ist), dann nimm ihn immer! Einen Query musst du natürlich erstmal machen, den hast Du vergessen.

          Ich gehe mal davon aus du hast PEAR:B verwendet. Dann brauchst Du pear::fetchRow():

          PHP-Code:
          $db_zugriff->setFetchMode(DB_FETCHMODE_ASSOC);
          $result1 $db_zugriff->query($query);
          while (
          $arrOption $db_zugriff->fetchRow($result1)) {
          ..

          Noch was vergessen: Die Reihenfolge, wie Du den ersten $query zusammenbaust ist falsch. Du kriegst evtl. sowas: ...ORDER BY xyz LIMIT 0,10 DESC. Das ist falsch. Das DESC muss hinter xys stehen und nicht nach dem LIMIT.
          Zuletzt geändert von cst; 12.07.2004, 16:12.
          Ich denke, also bin ich.
          Manche sind trotzdem!

          Kommentar


          • #6
            PHP-Code:
            if ($action == "options_view"){
             if(
            $count == "*"$desc "";
             else 
            $desc " Limit 0,".$count;
             
            $query "SELECT * FROM _options ORDER by optid ".$desc;
             if (
            $mode == 1$query .= " DESC";
             while (
            $res mysql_fetch_array ($opt1)) 
            Er setzt den Query zusammen, aber bis zur while schleife wird keien db anfrage gemacht oder ?

            oder


            An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

            Kommentar


            • #7
              Das Problem mit "mysql_fetch_array" ist gelöst, ich mußte vor der Zeile 6 folgendes einfügen

              PHP-Code:
               $opt1 mysql_query($query) OR die(mysql_error()); 
              Noch was vergessen: Die Reihenfolge, wie Du den ersten $query zusammenbaust ist falsch. Du kriegst evtl. sowas: ...ORDER BY xyz LIMIT 0,10 DESC. Das ist falsch. Das DESC muss hinter xys stehen und nicht nach dem LIMIT.
              Das ist jetzt das nächste Problem.

              Ich habe eine HTML da wird in 2 Formularen jeweils in einem Formularfeld (name= count) gefragt wie viele Datensätze angezeigt werden sollen.

              Im ersten Formular die ältesten zuerst, das funktioniert auch einwandfrei.
              Im zweiten Formular die neuesten zuerst, da bekomme ich die Fehlermeldung

              PHP-Code:
              Fehler in der Syntax bei 'DESC' in Zeile 1. 
              Wie muß ich jetzt die Abfrage ändern das sie richtig ist und es bei beiden Reihenfolgen klappt.

              Kommentar


              • #8
                tausch einfch die position der if-bedingungen "mode" vor "count"
                Kissolino.com

                Kommentar

                Lädt...
                X