[SQL allgemein] Fehlermeldung, ich weiß nicht mehr weiter

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

  • [SQL allgemein] Fehlermeldung, ich weiß nicht mehr weiter

    Hi,

    ich habe ein kleines Programm geschrieben, um eine Datenbank Online zu stellen. Auf meinem Rechner funzt der Code, jetzt habe ich das Programm auf einen Server geladen und da bekomme ich folgende Fehlermeldung:

    Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/cbna357/html/css.php on line 8

    Warning: mysql_num_fields(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/cbna357/html/index.php on line 6


    In der css.php steht folgendes in der Zeile 8:
    while ($color = mysql_fetch_row($ergebnis) )

    und in der index.php steht folgendes in der Zeile 6:
    $x=mysql_num_fields($ergebnis);

    Danke für Eure Hilfe.

    Gruß Ben

  • #2
    bitte füge mysql_error() hinter mysql_query(...) or die(mysql_error()) an.

    OffTopic:
    mann mann mann... wann lernen das die leute ...
    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
      Ganz allgemein:
      Das der Fehler in Zeile 8 bzw. 6 angezeigt wird, muss nicht zwingend heissen, das mit dieser Zeile tatsächlich was nicht stimmt. Kann sein, das eine Zeile oberhalb zB ein ; fehlt oder dergl.
      -> Drei oder vier Zeilen inkl. Zeilennummern, PHP Tags UND mysql_error()-Meldung posten.

      Kommentar


      • #4
        @Abraxax: Wenn ich den Befehl richtig verstehe, dann ist das nicht die Lösung zu meinem Problem, sondern einfach nur eine unterdrückung des Fehlers. Bzw. ein Befehl, was gemacht werden soll, wenn ein Fehler auftritt.

        @Xenalla: Ich weiß mittlerweile, dass mein Fehler ist, dass das Skript sich nicht mit der SQL Datenbank verbinden kann. Allerdings finde ich nicht das Problem. Werde da noch etwas rum probieren. Ich poste aber trotzdem mal die Zeilen vorher.

        css.php:
        Code:
        <?
        $abfrage="SELECT bgcolor, bgpicture, tabrahmen, tabcolor1,
        tabcolor2, fontcolor1, fontcolor2, style, tabkopf1, tabkopf2,
        tabkopfcolor1, tabkopfcolor2, font, fontsize1, fontsize2, tabbreite, ausrichtung, dalimit, leerzeile, headline, errmess
        from bonzaimdbinternstyle ;";
        $ergebnis=mysql_query($abfrage);
        //or die (mysql_error());
        
        while ($color = mysql_fetch_row($ergebnis) )
        .....
        index.php:
        Code:
        <?
        include ("admin/access.php");
        include ("css.php");
        
        $categories=""; $counts ="";
        $x=mysql_num_fields($ergebnis);
        .....
        Hier noch meine Daten zur SQL Datenbank:
        Code:
        <? 
        $mysqlhost="localhost"; //Host zur Datenbank
        $mysqldatabase="usr_xxxxx_1"; //Datenbankname
        $mysqluser="xxxxx"; //Datenbank Username
        $mysqlpassword="xxxxxx"; //Datenbank Passwort
        ?>
        Irgendwie finde ich nicht mein Fehler.

        Gruß Ben

        Kommentar


        • #5
          Original geschrieben von CalibraDriver
          @Abraxax: Wenn ich den Befehl richtig verstehe, dann ist das nicht die Lösung zu meinem Problem, sondern einfach nur eine unterdrückung des Fehlers. Bzw. ein Befehl, was gemacht werden soll, wenn ein Fehler auftritt.
          falsch.

          damit siehst du was an deine sql-query falsch ist, und kannst es korrigieren. denn nur daher kommt die fehlermeldung.

          aber so wie ich das sehe, ist dir das ja egal, sonst hättest du die meldung mal gepostet.

          naja. viel spass noch bei der suche woanders und viel erfolg. du wirst keinen haben.
          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


          • #6
            Original geschrieben von Xenalla
            inkl. Zeilennummern, PHP Tags UND mysql_error()-Meldung posten.
            Welcher Teil davon ist zu hoch?

            Unterdrückt wird mit mysql_error() absolut gar nichts - ganz im Gegenteil, darf sich der Fehler dann mal zu Wort melden.

            Kommentar


            • #7
              Sorry, für meine Sch*** Wortwahl. Ich habe heute einen wirklich schei* Sonntag erwischt. Wollte hier niemanden angreifen. Hab die Fehlermeldung falsch verstanden. Wenn ich mysql_error einfüge, dann kommt folgende Fehlermeldung:

              No Database Selected

              @Xenalla: Ich habe die Zeillennummern vergessen. Ich habe immer ab der ersten Zeile den Code rauskopiert, bis zur wichtigen Zeile.

              Gruß Ben

              Kommentar


              • #8
                No Database Selected
                und was kannst du daraus erkennen?

                wo machst du den connect zum db-host?
                wo selectest du eine db?
                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


                • #9
                  @Abraxax: Wie Du wahrscheinlich schon erkannt hast bin ich noch Anfänger.
                  Deshalb hätte ich mal behauptet, dass ich das hiermit mache:
                  Code:
                  <? 
                  $mysqlhost="localhost"; //Host zur Datenbank
                  $mysqldatabase="usr_xxxxx_1"; //Datenbankname
                  $mysqluser="xxxxx"; //Datenbank Username
                  $mysqlpassword="xxxxxx"; //Datenbank Passwort
                  ?>
                  Ist das richtig???

                  Gruß Ben

                  Kommentar


                  • #10
                    nein. das ist nciht ganz richtig. du definierst an der stelle ja nur die daten.

                    aber mysql_connect() und mysql_select_db() bracuhst du auch noch
                    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


                    • #11
                      Ich connecte mich an Dieser Stelle zu der Datenbank:

                      Code:
                      <?
                      
                      require("userdata.php");
                      
                      
                      $css ="<STYLE>
                      A:visited {COLOR: #000000; FONT-FAMILY: Verdana; TEXT-DECORATION: underline}
                      A:hover {COLOR: #000000; FONT-FAMILY: Verdana; TEXT-DECORATION: none}
                      A:active {COLOR: #000000; FONT-FAMILY: Verdana; TEXT-DECORATION: underline}
                      A:link {COLOR: #000000; FONT-FAMILY: Verdana; TEXT-DECORATION: underline}
                      body {	background-attachment: fixed;
                      	background-image: url('images/background-mainframe.jpg');
                      	background-repeat: no-repeat;
                      	background-position: 0px 0px
                      }
                      
                      SELECT, TEXTAREA, INPUT
                       {BORDER-RIGHT: #FFFFFF 1px solid; font-weight : bold; BORDER-TOP: #000000 1px solid; FONT-SIZE: 10px; BORDER-LEFT: #000000 1px solid; COLOR: #000000; BORDER-BOTTOM: #FFFFFF 1px solid; FONT-FAMILY: Verdana; font-weight : bold;  BACKGROUND-COLOR: #ABBEC7}
                      </STYLE>";
                      
                      $link = @mysql_pconnect ("$mysqlhost","$mysqluser","$mysqlpassword") or die ("
                      <html><head><title>My-Database &copy; 2002 B0nzAi web-design</title>
                      <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>
                      $css</head><body bgcolor='#0099FF' background='images/background-mainframe.jpg' leftmargin='15' topmargin='0' bgproperties='fixed' marginwidth='0' marginheight='0'>
                      <br><table width='510' border='0'><tr> <td> <font size='1' face='Verdana, verdana, Helvetica, sans-serif'><div align='center'><table width='512' border='0' cellpadding='1' cellspacing='0' bgcolor='#FFFFFF'><tr><td width='510'><table width='510' border='0' background='images/tab.back.jpg'  bgcolor='#0099FF'><tr> <td width='465' bgcolor='#FFFFFF'><font color='#000000' size='1' face='Verdana, verdana, Helvetica, sans-serif'><strong>Datenbank Error: </strong></font></td></tr><tr><td> <p><font color='#FFFFFF' size='1' face='Verdana, verdana, Helvetica, sans-serif'><strong>
                      Die Datenbank ist aus einem der folgenden Gr&uuml;nde nicht erreichbar:</strong></font></p><font color ='white'><ul><li><strong><font color='#FFFFFF' size='1' face='Verdana, verdana, Helvetica, sans-serif'>Angaben in der  userdata.php sind nicht korrekt</font></strong></li><li><strong><font color='#FFFFFF' size='1' face='Verdana, verdana, Helvetica, sans-serif'>Es gibt ein technisches Problem mit der Datenbank</font></strong></li></ul></td></tr></table></td></tr></table></div></td></tr>
                      </table>
                      "    );
                      
                      mysql_select_db("$mysqldatabase");
                      ?>
                      Gruß Ben

                      Kommentar


                      • #12
                        ich sehe keinen connect ....

                        EDIT:
                        ach da mitten im text.....

                        tipp: deinen html-code packe in eine andere datei. und mache einen header() da drauf.....

                        dann kannst du auch noch mal versuchen den ganzen html-code in eine zeile zu packen. da wird der wesentlich besser lesbar. so von links nach rechts eben.....

                        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


                        • #13
                          Hab gerade noch mal etwas rumgesucht. Da ich schon lange nichts mehr an der Datenbank gemacht habe, habe ich etwas den überblick verloren. Die Datei, die ich gerade gepostet habe benutze ich gar nicht mehr. Ich connecte die DB hier:

                          Code:
                          <?
                          include ("admin/access.php");
                          include ("css.php");
                          
                          echo"
                          <html><head>
                          <title>AkaKraft Database</title><STYLE>$style</STYLE></head>
                          <body bgcolor='$bgcolor' background='$bgpicture'>";
                          
                          $verbindung = @mysql_connect("$mysqlhost","$mysqluser","$mysqlpassword");
                          #mysql_select_db("$mysqldatabase");
                          
                          if ($act2=="Fahrzeuge")	{
                          $abfragetabelle = "SELECT f.id, f.hersteller, f.typ, f.auto, f.eigentuemer, f.leistung, f.leistungseinheit, f.hubraum, f.baujahr, f.kommentar, h.id, h.hersteller FROM fahrzeuge f INNER JOIN hersteller h ON f.hersteller = h.id WHERE f.id='$id2'";
                          } else {
                          	$abfragetabelle = "SELECT * from $act2 WHERE id='$id2'";
                          }
                          
                          $ergtabelle = mysql_db_query("usr_cbna357_1",$abfragetabelle,$verbindung);
                          Gruß Ben

                          Kommentar


                          • #14
                            dein db-select ist auskommentiert?
                            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


                            • #15
                              mysql_pconnect funktioniert???
                              das gibts auch???
                              wusste ich gar nicht....

                              mfg thomas

                              p.s.: wenn du das raute-zeichen (#) vor dem mysql_select_db() weggeben würdest, hättest du eine leichte chance das dein script nur ansatzweise funktioniert....
                              [color=black] Important: alt bei <img> ist immer erforderlich · Strings richtig trennen/verbinden · Kiddie-Code hat keine Chance[/color]

                              Kommentar

                              Lädt...
                              X