Mal gehts, mal nicht

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

  • Mal gehts, mal nicht

    Tach zusammen.
    Ich hab ein komisches Problem.
    Ich lasse mir alle Datensätze aus meiner Tabelle anzeigen. Funktioniert einwandfrei.
    Neben jedem Datensatz habe ich einen Link gesetzt, um den Datensatz zu editieren.
    Datenübergabe wird mit GET erledigt, geht nicht anders.

    Hier mein Quelltext:
    PHP-Code:
    $res mysql_db_query("meinedb","SELECT * FROM meinetabelleg WHERE bemerkung='".$_GET['bemerkung']."'") or die(mysql_error());
    $num mysql_num_rows($res);

    include(
    "ergzuw.php"); 
    Die Datei ergzuw.php sieht so aus:
    PHP-Code:
    <?php
    // Hier wird den Variablen der Wert der Spalte der Tabelle zugewiesen, die als Ergebnis 
    // der SQL-Abfrage erhalten wird.
          
    $datum mysql_result($res$i"datum");
          
    $name mysql_result($res$i"name");
          
    $bemerkung mysql_result($res$i"bemerkung");
        ...
        ...
    ?>
    Jetzt das Problem: Bei den ersten 42 Datensätzen gibt es keine Probleme! Bei allen anderen bekomme ich diesen Fehler
    Warning: mysql_result(): Unable to jump to row 0 on MySQL result index 4 in C:\xampp\htdocs\meinordner\ergzuw.php on line 4
    Das erhalte ich für jede Zeile in der ergzuw.php

    Kann mir jemand sagen, was da falsch ist?

    Danke scho ma!
    it's not a bug,
    it's a feature!

  • #2
    $i == $_GET['bemerkung'] ?

    was steht in $_GET['bemerkung']?
    zahl oder string?

    was steht in $num?

    warum verwendest du nicht mysql_fetch_* (array, assoc, ...) ?
    is laut manual sogar die empfohlene variante
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Original geschrieben von mrhappiness
      $i == $_GET['bemerkung'] ?
      Was soll das bedeuten?

      In $_GET['bemerkung'] steht ein String.

      $num enthält die Anzahl der gelesenen Sätze, habbich übernommen aus einem anderen Script und es ging bisher auch immer. Wenn die Fehlermeldungen kommen steht eine 0 drin, sonst eine 1.
      it's not a bug,
      it's a feature!

      Kommentar


      • #4
        Original geschrieben von XGremliN
        Was soll das bedeuten?
        dass mir nicht ganz klar ist/war, welchen wert $i hat, da ich keine entsprechende zuweisung gefunden habe...
        In $_GET['bemerkung'] steht ein String.
        halte ich für suboptimal, übergib lieber die id des eintrags
        $num enthält die Anzahl der gelesenen Sätze
        ach ne
        Wenn die Fehlermeldungen kommen steht eine 0 drin, sonst eine 1
        das is nich dein ernst oder?

        wenn 0 drinsteht, hat er doch logischerweise keinen eintrag gefunden oder?
        welchen eintrag willst du dann denn abfragen?
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Die Einträge haben keine ID, weil ich die Daten von Excel nach MySQL geschafft habe.
          Dass wenn $num == 0 kein Satz gelesen wurde ist mir auch klar. Nur wieso liest er manche Sätze und andere wieder nicht?
          it's not a bug,
          it's a feature!

          Kommentar


          • #6
            Original geschrieben von XGremliN
            Die Einträge haben keine ID, weil ich die Daten von Excel nach MySQL geschafft habe.
            schlechte ausrede, sehr schlechte sogar
            Dass wenn $num == 0 kein Satz gelesen wurde ist mir auch klar
            fein
            Nur wieso liest er manche Sätze und andere wieder nicht?
            42?
            aber es könnte helfe, mal das select für einen funktionierenden eintrag und das für einen nicht funktionierenden eintrag ausgeben zu lassen und hier zu posten
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              OK.
              Hab mir jetzt mal die ABfrage ausgeben lassen.
              Wenn es funzt erhalte ich diese Ausgabe: Resource id #7.
              Wenn nicht diese: Resource id #6.
              it's not a bug,
              it's a feature!

              Kommentar


              • #8
                Original geschrieben von mrhappiness
                aber es könnte helfe, mal das select für einen funktionierenden eintrag und das für einen nicht funktionierenden eintrag ausgeben zu lassen und hier zu posten
                Original geschrieben von XGremliN
                Hab mir jetzt mal die ABfrage ausgeben lassen.
                Wenn es funzt erhalte ich diese Ausgabe: Resource id #7.
                Wenn nicht diese: Resource id #6.
                ein select statement ist was anderes als das ergebnis von mysql_query (das is die db-abfrage, die du ausgegeben hast)
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9
                  PHP-Code:
                  mysql_db_query("meinedb","SELECT * FROM meinetabelleg WHERE bemerkung='Bericht-Nr.03/301'";
                  // das geht

                  mysql_db_query("meinedb","SELECT * FROM meinetabelleg WHERE bemerkung='Bericht-Nr.03/303'";
                  // das geht NICHT 
                  it's not a bug,
                  it's a feature!

                  Kommentar


                  • #10
                    und was passiert in phpmyadmin, wenn du da
                    Code:
                    SELECT * FROM meinetabelleg WHERE bemerkung='Bericht-Nr.03/303'
                    eingibst?
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #11
                      Da passiert gar nichts. Er sagt mir nur, dass der Befehl erfolgreich ausgeführt wurde.
                      Das macht er aber genauso bei der Abfrage, die über mein php-Script funktioniert.
                      it's not a bug,
                      it's a feature!

                      Kommentar


                      • #12
                        auf den gedanken, dass mysql keinen eintrag findet,auf den die bedingung zutrifft bist du aber schon gekommen oder?
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar


                        • #13
                          Hab das Problem gefunden.
                          Es liegt daran, dass tw. ein Zeilenumbruch zwischen "Bericht-Nr." und der Nummer ist.

                          Damit kommen wir zum nächsten Problem. Wie kann ich den Zeilenumbruch herausnehmen und durch ein Leerzeichen ersetzen?

                          Geht das irgendwie mit str_replace() und einer Schleife über alle Datensätze???
                          it's not a bug,
                          it's a feature!

                          Kommentar


                          • #14
                            ja
                            Ich denke, also bin ich. - Einige sind trotzdem...

                            Kommentar


                            • #15
                              musste trotz der Ignorefkt mal reinschauen

                              zuerst einmal, frage ich mich, wie da überhaupt ein Umbruch rein kommen kann. aber egal, gibt halt sauberen code und nicht so sauberen.

                              Damit kommen wir zum nächsten Problem. Wie kann ich den Zeilenumbruch herausnehmen und durch ein Leerzeichen ersetzen?

                              Geht das irgendwie mit str_replace()
                              Ja, warum nicht
                              und einer Schleife über alle Datensätze???
                              auch das geht! (Ich hatte das verstanden, als ob der umbruch im query ist?)

                              Kommentar

                              Lädt...
                              X