Kann Fehler nicht finden .... ???

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

  • Kann Fehler nicht finden .... ???

    Hallo zusammen...


    kann mir villeicht mal jemand sagen, was an der SQL Abfrage falsch ist :

    PHP-Code:
    $query    "SELECT * FROM ".$table." ORDER BY ".$sort." LIMIT ".$start.",".$limit;
    $resultID = @mysql_query($query);

    while (
    $data mysql_fetch_array($resultID))
    {
    bedingung

    funktioniert nicht

    Ohne das 'ORDER BY' gehts , also so :

    PHP-Code:
    $query    "SELECT * FROM ".$table." LIMIT ".$start.",".$limit;
    $resultID = @mysql_query($query);

    while (
    $data mysql_fetch_array($resultID))
    {
    bedingung


    Fehler:

    Warning: Supplied argument is not a valid MySQL result resource in c:/programme/webserver/apache/htdocs/inc/functions.inc.php on line 82

    Zeile 82 ist der Beginn der while schleife.....

    wo liegt der fehler ???
    -=Es gibt Leute, die können Ihren Stammbaum bis zu denen zurückverfolgen, die noch darauf saßen=-

  • #2
    Was sagt denn die MySQL dazu??

    PHP-Code:
    $resultID = @mysql_query($query) or die(mysql_error()."<br>$query"); 
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar


    • #3
      hmm...

      Das kommt raus :

      You have an error in your SQL syntax near 'LIMIT 0,10' at line 1
      SELECT * FROM programms ORDER BY LIMIT 0,10


      scheint so als ob die Variable $sort nicht deklariert wurde, oder ?


      $sort übergebe ich mit textlinks, also z.B. <a href ="http://host.de/admin/programme/programme.php?show=shareware&&sort=name">Nach Namen sortieren</a>

      ...müsste also normalerweise korrekt übergeben werden. $show geht ja auch
      -=Es gibt Leute, die können Ihren Stammbaum bis zu denen zurückverfolgen, die noch darauf saßen=-

      Kommentar


      • #4
        Eigentlich sollte das korrekt funktionieren ... kann es sein das Du $sort irgendwo überschreibst? ... ändere doch testweise $sort mal in $order ... oder sowas ... !
        carpe noctem

        [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
        [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

        Kommentar


        • #5
          so geht auch nicht.... ich werd einfach mal die ganze Funktion posten . Damit sollen Einträge jeweils immer 10 Einträge aus der Datenbank angezeigt werden.


          PHP-Code:
          function showprogramms(){
              global 
          $DOCUMENT_ROOT;
              global 
          $start;
              global 
          $show;
              global 
          $db_name;
              global 
          $db_host;
              global 
          $db_user;
              global 
          $db_pass;
              global 
          $connect;
              require (
          "$DOCUMENT_ROOT/configs/config.inc.php");

          // Datendefinition für die Clientausgabe
          $start = (isset($start)) ? abs((int)$start) : 0;
          $limit 10;                     // Datensätze pro Ausgabeseite
          $table $show;
          $order $sort;

          // Zur Datenbank verbinden
          if (! $connect)
          die( 
          "Keine Verbindung zu MySQL");
          mysql_select_db$db_name )
          or die ( 
          "Keine Verbindung zur Datenbank $db_name);

          // Feststellen der Anzahl der verfügbaren Datensätze.
          $resultID = @mysql_query("SELECT COUNT(ID) FROM ".$table);
          $total    = @mysql_result($resultID,0);

          // Ggf. $start korrigieren (falls Parameter in
          // der URL manipuliert wurde)
          $start    = ($start >= $total) ? $total $limit $start;

          // Datenbankabfrage ausführen.
          $query    "SELECT * FROM ".$table." ORDER BY ".$order." LIMIT ".$start.",".$limit;
          $resultID = @mysql_query($query) or die(mysql_error()."<br>$query");


          // Wenn Daten vorhanden, Tabellenkopf ausgeben //
          if (! $total == "0"){
          echo 
          '<table width="100%" border="1" bordercolor="#E7DBAB">
                  <tr bgcolor="#F0DA97" bordercolor="#000000">
                    <td width="104" class="standart_ueberschrift">
                      <div align="center">Kategorie</div>
                    </td>
                    <td width="104" class="standart_ueberschrift">
                      <div align="center">Name</div>
                    </td>
                    <td width="104" class="standart_ueberschrift">
                      <div align="center">Website</div>
                    </td>
                    <td width="104" class="standart_ueberschrift">
                      <div align="center">Eingtragen am</div>
                    </td>
                    <td width="104" class="standart_ueberschrift">
                      <div align="center">Alle Infos</div>
                    </td>
                  </tr>'
          ;
          }

          // Ergebnisse lesen und an den Client ausgeben
          while ($data mysql_fetch_array($resultID))
          {

          $datum=gmdate("d.m.Y",$data[datum]);

          echo 
          "<tr bgcolor=\"#EFE0BE\" bordercolor=\"#000000\">
                    <td width=\"104\" class=\"standart_text\">
                      <div align=\"center\">
          $data[cat]</div>
                    </td>
                    <td width=\"104\" class=\"standart_text\">
                      <div align=\"center\">
          $data[anb_name]</div>
                    </td>
                    <td width=\"104\" class=\"standart_text\">
                      <div align=\"center\"><a href=\"
          $data[website]\">Besuchen</a></div>
                    </td>
                    <td width=\"104\" class=\"standart_text\">
                      <div align=\"center\">
          $datum</div>
                    </td>
                    <td width=\"104\" class=\"standart_text\">
                      <div align=\"center\"><a href=\"programme.php?view=details&&id=
          $data[id]\">zeigen</a></div>
                    </td>
                  </tr>"
          ;
          }

          /* Wenn Daten vorhanden, Tabellen-Fuß ausgeben */
          if (! $total == "0"){
          echo 
          '<tr>
                    <td height="5"><img height="1" width="110" src="/images/spacer.gif"></td>
                    <td><img height="1" width="108" src="/images/spacer.gif"></td>
                    <td><img height="1" width="108" src="/images/spacer.gif"></td>
                    <td><img height="1" width="107" src="/images/spacer.gif"></td>
                    <td><img height="1" width="110" src="/images/spacer.gif"></td>
                  </tr>
                </table>'
          ;
          }

          // Vor- und Zurückblättern
          if ($start 0)
          {
            
          $newStart = ($start $limit 0) ? : ($start-$limit);
            echo 
          "<br><center><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\"><b><a href=".$PHP_SELF."?start=".$newStart
                
          ."&&show=".$show.">zurück</a></b></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
          }
          elseif (! 
          $total == "0") {
              echo 
          "<center><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\" color=\"#CCCCCC\"><b>zurück</b></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
          }

          if (
          $start $limit $total)
          {
            
          $newStart $start $limit;
            echo 
          " <font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\"><b><a href=".$PHP_SELF."?start=".$newStart
                
          ."&&show=".$show.">weiter</a></b></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp</center>";
          }
          elseif (! 
          $total == "0") {
              echo 
          " <font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\" color=\"#CCCCCC\"><b>weiter</b></font>&nbsp;</center>";


          wie gesagt....ohne ORDER BY funktioniert es einwandfrei ! Es ist zum verrückt werden
          -=Es gibt Leute, die können Ihren Stammbaum bis zu denen zurückverfolgen, die noch darauf saßen=-

          Kommentar


          • #6
            versuchs mal indem du ORDER BY hinter LIMIT schreibst, ich glaub bei Mysql musste man bestimmte priotitaeten beibehalten, weiss jetzt nicht, was vor wem kam, aber einen Versuch ist es ja wert. schau mal ins manual, da steht es. (keine ahnung wo, ich schau mal)
            Bye

            CrazyAchmed

            Kommentar


            • #7
              Nein ... die Reihenfolge paßt schon ... aber $sort muß noch GLOBAL deklariert werden ... !
              carpe noctem

              [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
              [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

              Kommentar


              • #8
                ARRRRRRGH....Logisch Wie einfach es doch ist , wenn mans weiß *gg*

                Ich danke !!!!!


                Grüsse und n8
                -=Es gibt Leute, die können Ihren Stammbaum bis zu denen zurückverfolgen, die noch darauf saßen=-

                Kommentar


                • #9
                  Immer gerne ...
                  carpe noctem

                  [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                  [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                  Kommentar

                  Lädt...
                  X