??? Warning: Supplied argument ...

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

  • ??? Warning: Supplied argument ...

    Hallo,
    ich bin totaler Anfänger mit MySql und PHP. Ich muss (aber) diesen Fehler ...

    ---------------------------------------------------
    Warning: Supplied argument is not a valid MySQL result resource in /usr/local/httpd/htdocs/mysql.php3 on line 30
    ----------------------------------------------------

    ... in einem bestehenden Programm wegbekommen. Problem Nr. 1: Ich habe das Programm nicht selber geschrieben (und bin wie gesagt Anfänger).

    Problem Nr. 2: Der Fehler scheint keine Auswirkungen zu haben. (...wenn es so etwas überhaupt gibt...?)

    Kann mir jemand von weit weg denn dabei helfen?

    Der Fehler tritt nach der Eingabe von Daten (für eine MySql-Datenbank) auf, wenn nämlich die Speicherung der Daten (durch Klick des Speicherbuttons) durchgeführt wurde. Die Daten werden trotz der Meldung in die Datenbank korrekt eingetragen (und wenn erforderlich auch angezeigt). Es funktioniert also (scheinbar) alles, aber dennoch kommt diese Fehlermeldung.
    Die genannte Datei: mysql.php3 beinhaltet den Aufbau der Datenbankanbindung und wird in viele andere Dateien eingebunden.

    Was bedeutet dieser Fehler?
    Wißt Ihr wie man ihn beseitigen kann?

    Danke schon im voraus!

    Heiko

  • #2
    schick (poste) uns mal deinen Code!

    php-Entwicklung | ebiz-consult.de
    PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
    die PHP Marktplatz-Software | ebiz-trader.de

    Kommentar


    • #3
      Script von mysql.php3:
      ---------------------------------------------------------

      <?php
      // Klassenmodul1 zur Vereinfachung von MySQL-Aktionen
      // erstellt von xxx xxx

      // -- Zugangsdaten ----------------------------------------------------------------------------------------------
      $db="drlpl"; // Name der Datenbank
      $server="localhost"; // Servername
      $stduser="xxx"; //in/admintools/mysql2.php3 // Nutzer fuer die Verbindung
      $stdpw ="xxx"; // ist eine weitere PW-Vergabe notwendig // dessen Passwort
      $limit="35"; // max. verarbeitete DS-Zahl
      // --------------------------------------------------------------------------------------------------------------

      mysql_pconnect($server,$stduser,$stdpw) or die ("Verbindung mit dem Server fehlgeschlagen");
      mysql_select_db($db) or die ("Datenbank konnte nicht selektiert werden");

      class mysql_abfrage {
      // Objekt zur allgemeinen MySQL-Datenbankabfrage
      // Aufruf:
      // <Objektname> ->sql("<SQL-Anweisung>","<Rueckgabeschluessel>");
      // SQL-Anweisung: select, update, insert, delete
      // Rueckgabeschluessel: 0 --> keine Rueckgabe von Ergebnissen
      // 1 --> (im Select-Fall) Ruekgabe Feld mit:
      // array[0] .. Datensatzanzahl
      // array[1] .. Abfrageergebnis

      function sql ($abfrage,$rueckgabe) {
      $this->ergebnis=mysql_query($abfrage);
      if ($this->ergebnis) {
      if ($rueckgabe=="1") { // Rueckgabe bei Select-Anweisung
      $anzahl=mysql_num_rows($this->ergebnis);
      $this->array[0]=$anzahl; // Datensatzzahluebergabe
      $this->array[1]=$this->ergebnis;// Abfrageergebnisuebergabe
      } // else echo "<b><font color=#00800>@</b>"; // Zeichen, dass die Eingaben gespeichert wurden
      } else {
      $fehler=mysql_error();
      echo "<script language='javascript'> ";
      ?>
      alert(" <?php echo "Server-Connection schlug fehl: $fehler"; ?>" ); </script>
      <?php
      }
      }
      }
      # ******************************************************************

      ?>

      ...irgendetwas zu erkennen?

      Kommentar


      • #4
        Hilfe!?

        Hallo nochmal,

        falls die Fehlersuche im Code zu umständlich oder schwierig ist, würde ich mich auch schon freuen, wenn mir jemand hierzu etwas schreibt:

        -----------------------------------------------
        Warning: Supplied argument is not a valid MySQL result resource in /usr/local/httpd/htdocs/mysql.php3 on line 30
        -----------------------------------------------

        Was bedeutet solch eine Warnung im Allgemeinen? In welche Richtung muss ich forschen?

        Tschüß Heiko

        Kommentar


        • #5
          hmm,

          also suplied Argument kann bedeuten das garkeine Verbindung zum DB Server besteht und deshalb logischerweise die Zeile nicht bearbeitet werden kann und ich denke das ist auch das Problem, in der Function muss auch das DB Handle zur verfügung stehen und es könnte sein dass dies nicht der Fall ist.

          Kommentar


          • #6
            Die zweibeste Lösung ist immer noch, sich direkt nach Ausführen der fehlerhaften Query mal mysql_error() ausgeben zu lassen.

            Die beste Lösung ist bei unseren Code-Schnipseln zu finden: http://www.php-resource.de/forum/sho...?threadid=1600
            mein Sport: mein Frühstück: meine Arbeit:

            Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

            Kommentar


            • #7
              ...ich bin am probieren...

              Erstmal DANKE, dass ihr euch das problem mal anschaut.

              Wenn ich mysql_error() nutze, kommen diese 2 Meldungen:

              ---------------------------------
              Parse error: parse error in /usr/local/httpd/htdocs/personal/mysql.php3 on line 37
              ---------------------------------
              Fatal error: Cannot instantiate non-existent class: mysql_abfrage in /usr/local/httpd/htdocs/personal/veingabeall2.php3 on line 70
              ------------------
              ...momentan kann ich damit auch noch nichts anfangen :-(


              ich bin gerade dabei, es mal mit deinen code-schnipseln zu probieren.
              Das Ersetzen von mysql_query durch do_query muß ich nur in dieser Datei machen, ja?! ... und deine function setze ich einfach davor. oder habe ich das falsch verstanden. Cookie-Problem u. Ausgabepufferprotokolle lasse ich mal auf mich zukommen (bin mir nämlich nicht sicher, was wirklich damit gemeint ist).

              heiko

              Kommentar


              • #8
                also der erste Fehler ist ein Syntaxfehler, der kann die Zeile nicht interpretieren od der zweite Fehler ist dass du eine Instanz einer nichtexistierenden Klasse bilden willst. Schau mal nach ob es die Klasse überhaupt gibt, vielleicht hast du dich beim Namen vertippt oder so.

                Kommentar


                • #9
                  Ich vermute mal, du hast ein Semikolon vergessen.
                  Wenn Zeile 37 so aussieht:
                  Code:
                  mysql_error()
                  dann ändere Sie mal, so dass si so aussieht:
                  Code:
                  echo mysql_error();
                  Wenn's das nicht ist, poste mal Zeile 36 bis 38, dann können wir mehr sagen.

                  Aber oh ... ich hab gerad nochmal über deinen Code geschaut, und eigentlich Sollte der funktionieren.
                  mysql_error() hast du ja auch schon drin... *grübel* Joel könnt glatt recht haben. Obwohl das Connect auch gut aussieht. Eichenartich ..
                  mein Sport: mein Frühstück: meine Arbeit:

                  Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                  Kommentar

                  Lädt...
                  X