selber Code liefert bei gleichen input verschiedene(fehlerhafte) outputs

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

  • selber Code liefert bei gleichen input verschiedene(fehlerhafte) outputs

    Ich habe ein php-script (ca 200 zeilen lang)
    das mir aus einer mysqldatenbank werte aulesen soll und mir dann in einer tabelle wiedergeben soll.
    dabei sollten nur 10 einträge angezeigt werden und wennn es mehr sind links pro angefangene 10 einträge hinzufügen.
    wird durch eine schlaufe so gehandhabt.

    das problem ist nun:
    Lokal ergibt mir das "Script" keine Fehler (rufe es aber mit dem DNS namen auf)
    Nicht Lokal aufgerufen ergibt mir das "Script" leider nur teilweise keine Fehler.

    Teilweise schafft es mir das Script anstatt gültige links zu produzieren code zu produzieren der so etwas beinhalten kann. èXT€èXT€, teilweise sind es auszüge aus der datenbank die noch nicht angezeigt werden sollten
    das merkwürdigste ist, dass es ist nicht immer an der gleichen stelle ist und nicht immer der selbe fehler der angezeigt wird.
    Dazu kommt dass der Fehler bei einem Reload der Site der Fehler häufig Verschwindet oder sich ändert (zumindest in den meisten fällen)
    Das heisst statt zum Beispiel dass der link für seite 8 kaputt ist, ist der link für seite 9 kaputt.

    da der code ja ziemlich lang ist und man ja nicht so langen code posten soll habe ich darauf verzichten müssen, kann ihn aber gerne nachliefern, nur die zwei Zeilen die er ganz selten als fehlerquelle ausgibt.

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
    PHP-Code:
     #dazu noch die enstehungs variablen
    $sql ="select * from artikel where  `artikelname` like '%$suchbegriff%' ";
    $result=mysql_query($sql);
    #irgendwo im script nach der mitte:
    $Anzahl=mysql_num_rows($result);
    #viel weiter unten:
     
    while($row=mysql_fetch_array($result,MYSQL_ASSOC)) 

    Ich hoffe ich habe einigermassen verständlich mein problem geschildert, und bin für jede hilfe dankbar.

    System : Windows XP
    ApacheFriends XAMPP (basic package) version 1.4.13
    + Apache 2.0.53
    + MySQL 4.1.11
    + PHP 5.0.4
    + PHP 4.3.11

    MfG CH-King
    Zuletzt geändert von CH-King; 10.08.2005, 13:06.

  • #2
    er bekommt aus der DB keine Werte zurück, worauf der das numrows etc. anwenden kann.

    Kommentar


    • #3
      versuch mal folgendes sql query anstatt dem den du hast

      PHP-Code:
      $sql ="select * from artikel where artikelname like '%$suchbegriff%' "

      Kommentar


      • #4
        dann wenn er mir die Fehler angiebt ist mir das klar, dass er nicht auf die DB zugreifen kann. aber weshalb überhaupt? und warum nur ganz selten?
        ist ja nicht mal internetzugriff sondern intranetzugriff

        hatt er auch beim fehlerhaft ausgegebenen link ein problem mit der connection zur DB?

        kann man da irgend etwas dagegen tun?

        Edit: gerade mal sql befehl wie vorgeschlagen abgeändert, jedoch bleibt das problem :-(

        Edit2: bringt nur insofern etwas dass ich nun dies beomme:
        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
        $sql

        die felerhaften urls bleiben. aber heisst das nun für mich?
        Zuletzt geändert von CH-King; 10.08.2005, 13:33.

        Kommentar


        • #5
          Original geschrieben von CH-King
          kann man da irgend etwas dagegen tun?
          mysql-error wie beschrieben einbauen
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6
            vielen dank für die bisherigen antworten.
            jedoch sehe ich mein hauptproblem nicht darin dass ich teilweise die Datenbank nicht erreiche wegen einem error.

            Sondern: Dass ich einen "Fehler" kriege den ich nicht zuordnen kann und dass er teilweise vorhanden ist und teilweise nicht.

            hat php etwa probleme wenn es viele schlaufen abarbeiten muss?
            kann ich mir zwar nur schwer vorstellen aber ich habe beinem anderen script schon ähnliches erlebt.

            Kommentar


            • #7
              Original geschrieben von mrhappiness
              mysql-error wie beschrieben einbauen
              mach es oder lass es bleiben, aber wenn du's lässt kriegst du keine wirklich aussagekräftige Fehlermeldungen und du (genauso wie wir alle hier) müssten auf gut Glück versuchen, einen Treffer zu landen.

              Sowas macht keinen Spaß...
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                Mal Fehler, mal nicht, klingt nach irgendwelchen Timeouts oder Beschränkungen der maximalen gleichzeitigen Zugriffe.
                Läuft MySQL auf dem gleichen Rechner wie der Webserver? Wie viele Clients dürfen sich parallel auf dem MySQL-Server drängeln?

                Vielleicht bringt es was, wenn du mal die Zeit mißt, die für Connect, Query absetzen und Result lesen benötigt werden.
                Zuletzt geändert von onemorenerd; 10.08.2005, 13:58.

                Kommentar


                • #9
                  habe ich ja eingebaut , nur hatte ich das im oberen post editiert und nicht in das neue post aufgenommen, sry

                  bringt nur insofern etwas dass ich nun dies beomme:
                  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
                  $sql

                  und wenn er diesen fehle bekommt dann nur weil der link nach aussen hin gut aussieht und innerhalb nicht richtig abgeschlossen ist, also ca das gleiche wie wenn er völlig fehlerhaft aussehen würde
                  Zuletzt geändert von CH-King; 10.08.2005, 14:35.

                  Kommentar


                  • #10
                    Original geschrieben von CH-King
                    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
                    $sql
                    zeig mal, wie du's eingebaut hast, nach der ausgabe zu urteilen, ist es nämlich falsch

                    tipp: wenn du bei mysql_query statt 'euer SQL' einfach $sql verwendest, musst du das in mysql_error auch...

                    PHP-Code:
                    die(mysql_error().'<hr />'.'euer SQL'.'<hr />'); 
                    wird also zu
                    PHP-Code:
                    die(mysql_error().'<hr />'.$sql.'<hr />'); 
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #11
                      PHP-Code:
                      $result=mysql_query($sql)
                      or die(
                      mysql_error().'<hr />'.$sql.'<hr />');
                      $Anzahl=mysql_num_rows($result); 
                      hatte vorhin noch die '' bei $sql drin, habe sie nun entfernt

                      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 'fro' at line 1
                      select * fro

                      und das weil er im link nur .../blaettern.php?Anfangsposition=300&sql=select+%2A+fro
                      anstatt
                      .../blaettern.php?Anfangsposition=300&sql=select+%2A+from+artikel+where++artikelname+like+%27%25%25%27+O RDER+BY+++kategorienr%2C+gestellnr%2C+inventarid
                      stehen hat

                      Mein problem ist irgendwie wure dort der link nicht komplett übertragen, aber abgeschlossen. teilweise schafft er nicht mal den link komplett abzuschliessen

                      Kommentar


                      • #12
                        warum übergibst du eigentlich ein komplettes SQL-Statement per Link?

                        Normalerweise übergibt man Parameter, anhand derer dann das Statement im PKP-Script zusammengesetzt wird

                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar


                        • #13
                          scheinbar kann ich es nicht besser
                          es war ursprünglich so aber ich weiss nicht ob es je für die menge an Daten ausgelegt war.

                          hilft mir aber nicht wirklich mein ursprungsproblem zu beheben (dass nicht alle links komlett richtig eingefügt werden), denn das was ich bisher gemacht habe ist nur hilfe gegen den "unausweichlichen" folgefehler

                          aber für das bisher getane

                          Kommentar


                          • #14
                            Na

                            Wieso baust du dein Script nicht um so wie Happy es beschrieben hat? Dann hast du das Problem mit den Folgefehlern nicht mehr.

                            Zumal das was du da machst tierisch unsicher ist.

                            Kommentar


                            • #15
                              dann sollte / muss ich also neu anfangen?

                              Weiss einer ein gescheites Skript das diesen anforderungen entspricht, da ich noch nicht so gut bin alles selber zu schreiben brauche ich entweder Hilfe oder vorgefertigtes Skript das ich anpassen kann:

                              Ich brauche etwas mit dem ich Daten mit php aus mysql auslesen kann, mit integrierter Suche nach bestimmten Daten.
                              Zudem sollte ich die Ausgabe auf 10 Daten pro seite begrenzen können , und der Rest sollte via Links verfügbar sein. (wie z.B: im Forum die verschiedenen Threads Anzahl auf den verschiedenen Seiten) Am besten noch inklusive einer Sortier funktion.

                              währe dankbar dafür

                              Kommentar

                              Lädt...
                              X