supplied argument is not a valid MySQL result resource

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

  • #16
    besser hättest du statt Copiright error_reporting(E_ALL) eingebaut.
    und was dein $errorhandler macht, bleibt uns verborgen.
    ich sehe keine set_error_handler declaration als auch keine include und require.
    Zuletzt geändert von Slava; 04.10.2006, 00:06.
    Slava
    bituniverse.com

    Kommentar


    • #17
      Diese Datei includet ganz oben die config.php. Ich habe es aus der Veröffentlichung rausgenommen. Der Errorhandler berichtet sämtliche PHP, MySQL etc. Fehler und schreibt diese in die Datenbank. Bei kritischen Fehler wird der Admin per Mail benachrichtig. "or die(mysql_error()" ergibt übringens auch nichts.

      Kommentar


      • #18
        Nach header() fehlt ein exit(). Ansonsten habe ich keine offensichtlichen Fehler gesehen. Theoretisch könnte noch ein Feldname in der query falsch sein.

        Kommentar


        • #19
          Ne, kann eigendlich nicht sein. Ich habe den gleichen Query auf anderen Seiten auch. Dort funktioniert er. Bzw. Er funktioniert hier ja auch. Das was in der While-Schleife steht, wird erfolgreich ausgeführt. Diese komische Fehlermeldung ist irgendwie Sinnlos...

          Micronax

          Kommentar


          • #20
            Das ist höchst sinnvoll, dass es am fehlenden exit liegt.

            Du hast nämlich folgende Skriptstruktur.
            PHP-Code:
              if(empty)
                
            header(location)
              else
              {
                 
            $result =mysql_query($sql1);
              }
              while (
            $row=mysql_fetch_array($result))
              {
                
            blabla mit $row
              
            }

              
            $result mysql_query($sql2);
              while (
            $row=mysql_fetch_array($result))
              {
                
            blabla mit $row
              
            }
              
            header(location); 

            Kommentar


            • #21
              hm.. und wenn ich jetzt sage, das die Variable $prod auf keinen Fall leer ist. Ich habe dies schon geprüft.

              exit(); eingebaut. Keine Veränderung!

              Micronax
              Zuletzt geändert von ; 04.10.2006, 13:03.

              Kommentar


              • #22
                wo hast du exit() eingebaut?

                Kommentar


                • #23
                  Meine Änderungen wern nicht Live veröffentlicht. Ich habe gerade die Vorschauseite aktualisiert.
                  ->http://www.micronax-systems.de/external/postphp.php

                  Kommentar


                  • #24
                    Original geschrieben von jahlives
                    Also wenn $products ein Array ist, dann wäre dir mit einem
                    PHP-Code:
                    implode(",",$products); 
                    besser geholfen. Dann brauchst du das ganze Geschleife nicht...

                    Gruss

                    tobi
                    Mach das mal bitte. Dieses Foreachdingen da kann man sich ja nicht mit anschauen.

                    Kommentar


                    • #25
                      versuche mal
                      if (empty ($products))
                      anstatt if(empty($prod))

                      Kommentar


                      • #26
                        Im Prinzip funktioniert ja alles so, wie ich es will. Es geht mir jetzt nur darum, herauszufinden warum PHP den Fehler ausgibt, und wie ich das vermeiden kann (Wenn möglich ohne error_reporting(0))

                        Micronax

                        Kommentar


                        • #27
                          Original geschrieben von sternm
                          versuche mal
                          if (empty ($products))
                          anstatt if(empty($prod))
                          Keine Wirkung

                          Kommentar


                          • #28
                            dann musst du wirklich mal die Fehlermeldung von mysql bringen. Dass es keine hat, glaubt dir niemand. Oder sonst mit seriösen Testausgaben dahintergehen. Ich bin überzeugt, dass es dann rasch vorwärts geht, und hilfreicher ist als das Argument, dass es weiter oben auch geht (was nicht stimmt, weil die query nur einmal drin ist).

                            zu den fehlenden Testausgaben passt das folgende: beim credit-test fehlt das exit() auch, sondern das Skript macht fröhlich mit der Lizenzvergabe weiter.. Wozu das $prod=... sein soll, ist nicht nachvollziehbar. Die erste $total-Summe berechnest du ohne $total=0 zu setzen, offenbar sind die Fehlermeldungen unterdrückt.

                            Kommentar


                            • #29
                              theoretisch könnte noch das `shortdesc`-Feld einen anderen Feldnamen tragen, oder nicht vorhanden sein, wenn sonst alles richtig wäre. Es ist nicht nachvollziehbar warum es in der ersten Query abgefragt wird, in der zweiten nicht, und auch bei der ersten nicht verwendet wird.

                              Kommentar


                              • #30
                                Leere Variablen setzen sich beim rechnen automatisch auf 0. Und so viel ich sehe ist der Query

                                PHP-Code:
                                        /* Abrufen der Produktinformationen */
                                            
                                $sql "SELECT
                                                    id,
                                                    title,
                                                    shortdesc,
                                                    price
                                                FROM
                                                    mbuy_products
                                                WHERE
                                                    id IN ("
                                ;
                                            foreach(
                                $products as $i => $nr) {
                                                
                                $sql .= "$nr";
                                                if (
                                $i count($products)) {
                                                    
                                $sql .= ",";
                                                }
                                            }
                                            
                                $sql .= ")";
                                            
                                $result mysql_query($sql) or $errorhandler->reportMysqlError(mysql_error()); 
                                2x im Script vorhanden. Das Fehlende exit(); wurde eingefügt, danke

                                Aber der Fehler taucht weiterhin auf.

                                Kommentar

                                Lädt...
                                X