auf einmal Fehlermeldung

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

  • auf einmal Fehlermeldung

    Hallo zusammen,

    ich mache gerade nebenbei eine Seite mit einer DB - Abindung ... es hat bis jetzt super gefunzt. Doch jetzt kuck ich zufällig drauf und es kommt diese Fehlermeldung:

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/httpd/vhosts/koethers-lesehuette.de/httpdocs/test/news.php on line 76

    Ich habe nichts verändert?! Ich verstehe das nicht.

    Kann es sein, das mein Provider irgendwelche Einstellungen geändert hat?

    Schon mal vorweg... bin absoluter Newbie...

    Danke, Lexis.

  • #2
    vieles ist möglich, nichts ist sicher. Aber wenn du mal an der besagten Stelle ein mysql_error() nutzen würdest (vgl. Regeln), dann hätte sich dieser Thread eigentlich schon erledigt. Das sind Grundlagen.

    Kommentar


    • #3
      Also ich hab mir jetzt mal den Fehler ausgeben lassen... da steht:

      You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1


      Was bitte bedeutet das? Und wieso kam das vorher nicht???

      Kommentar


      • #4
        So kann man ned viel sagen. Poste mal mehr zusammenhängenden Code.

        Mein erster Eindruck: Entweder sind die "$sql" Variablen nicht richtig gesetzt oder das Query ist leer?


        Micronax

        Kommentar


        • #5
          PHP-Code:
          <? $news_SQL="SELECT * FROM news WHERE news_id=" . $news_id;
                  $news_result=mysql_query($news_SQL);
                  echo mysql_error();
                  $news=mysql_fetch_array($news_result);?>
           <table width="450" border="0" cellspacing="0" cellpadding="0" align="center">
            <tr>
              <td>
                <? $unixtime = strtotime($news['news_datetime']);
                ?><h2><? echo date("j.n.y H:i",$unixtime) ?><br><?
                echo $news['news_header'] ?></h2>    
              </td>
             </tr>
             <tr>
              <td>
                <p><? echo nl2br($news['news_main']) ?></p>
              </td>
             </tr>

          Kommentar


          • #6
            Ich bin mit meinem Latain echt am Ende....

            Kommentar


            • #7
              Lexis, soviel latein kann ich noch.

              aber dieser programmteil hat nicht zufälligerweise nie funktioniert? bzw. wurde jetzt das erstemal aufgerufen? bzw die Fehlermeldung wurde irgendwie eingeschaltet?

              Kommentar


              • #8
                Also es hat komischerweise bis heute funktioniert. Ich habe heute auf die Seite geschaut und auf einmal kommt die Fehlermeldung. Ich habe die Dateien nicht ausgetauscht!!! Die Fehlerausgabe habe ich vorher erst reingeschrieben.

                Kommentar


                • #9
                  echo "news_sql=#$news_SQL#"; ?

                  Kommentar


                  • #10
                    Das wird nun ausgegeben:

                    news_sql=#SELECT * FROM news WHERE news_id=#

                    Kommentar


                    • #11
                      also
                      PHP-Code:
                      news_sql=#SELECT * FROM news WHERE news_id=# 
                      wenn du das siehst, müsste dir gleich die hier gelbe markierung auffallen.

                      Man setzt Queries immer in "" oder '' also:

                      [php]
                      news_sql="SELECT * FROM news WHERE news_id='$id' "
                      [/php[

                      Micronax

                      Kommentar


                      • #12
                        Versuch mal

                        PHP-Code:
                        $news_SQL="SELECT * FROM news WHERE news_id='" $_POST["news_id"] ."'"
                        bzw. $_GET anstatt $_POST (kommt auf das System an)
                        gruss Chris

                        [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                        Kommentar


                        • #13
                          news_sql=#SELECT * FROM news WHERE news_id=#

                          also die news_id ist leer. Woher kommt sie?


                          Das orange licht spielt hier keine Rolle. Würdest du noch zusätzliche apostrophe setzen, wäre die query syntaktisch richtig, aber im inhalte immer noch falsch.
                          id sind im üblichen Standarddesign einer Tabelle int und autoincrement, es müsste also früher, als es funktionierte, eine Zahl von irgendwoher dahergekommen sein.
                          Zuletzt geändert von mai; 17.06.2006, 12:13.

                          Kommentar


                          • #14
                            Original geschrieben von micronax
                            also
                            PHP-Code:
                            news_sql=#SELECT * FROM news WHERE news_id=# 
                            wenn du das siehst, müsste dir gleich die hier gelbe markierung auffallen.

                            Man setzt Queries immer in "" oder '' also:

                            [php]
                            news_sql="SELECT * FROM news WHERE news_id='$id' "
                            [/php[

                            Micronax
                            Das ist nicht ganz richtig - wenn die news_ID vom typ integer ist, sind die apostrophe nicht notwendig.

                            @Thread öffner: Ich würde Dir ans Herz legen, die Werte, mit denen du ein SQL-Statement zusammenbaust, vorher auf Richtigkeit zu prüfen. Sollte die ID über die URL mitgeführt werden, wäre es für einen Angreifer ein Kinderspiel sich in dein Code rein zu hacken.
                            Stichwort: SQL-Injection.

                            Kommentar


                            • #15
                              register_globals

                              Immer noch
                              gruss Chris

                              [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                              Kommentar

                              Lädt...
                              X