Warning: mysql_num_rows()

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

  • Warning: mysql_num_rows()

    Hi,
    ich kenn mich nicht wirklich gut mit PHP aus und ich hab beruflich ne seite zu warten.
    auf die seite gehe kommt folgende Fehlermeldung:
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx



    in der datenbank tss_mitarbeitergruppen sind die mitarbeitergruppen drin und in tss_mitarbeiter stehen die informationen die geladen werden sollten.
    kann mir da jemand helfen???
    danke.
    Zuletzt geändert von tb_michi; 25.06.2009, 18:26.

  • #2
    Bau die ersten drei Zeilen mal so um:
    PHP-Code:
    $query "SELECT ...";
    $result3 mysql_query($query) or die(mysql_error() . $query);
    if(
    $num3 mysql_num_rows($result3)) { 
    Daraufhin solltest du eine Fehlermeldung sehen und die fehlerverursachende SQL-Abfrage. Da das sensible Informationen sind, solltest du das nicht in die Live-Seite einbauen!

    Kommentar


    • #3
      und was genau soll dann da passieren?. kommt irgendwie nix.

      Kommentar


      • #4
        @tb_michi
        bitte php-tags benutzen () und den code formatieren. so können wir nicht viel erkennen.

        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          Hab ich doch geschrieben: Es sollte eine Fehlermeldung erscheinen. Zeig mal den aktuellen Code und wenn es geht einen Link auf die Seite, wo man das mal selbst sehen kann.

          Kommentar


          • #6
            PHP-Code:
            <?php
            // ---- Mitarbeiter ---------------------------------------------------------------------------

            $result3 mysql_query("SELECT tss_mitarbeitergruppe.Bezeichnung,tss_mitarbeiter.* FROM tss_mitarbeiter 
                           LEFT JOIN tss_mitarbeitergruppe ON tss_mitarbeiter.MG_Nr=tss_mitarbeitergruppe.MG_Nr 
                           WHERE tss_mitarbeitergruppe.TSS='
            $ums_tss' AND tss_mitarbeiter.MA_Nr='$MMA_Nr' AND _geloescht='0'");
            if(
            $num3 mysql_num_rows($result3)) {
                    while(
            $row3 mysql_fetch_array($result3)) {
                    
            $MG_Nr $row3['MG_Nr'];
                    
            $Bezeichnung htmlentities(stripslashes($row3['Bezeichnung']));
                    
            $MA_Nr =$row3['MA_Nr'];
                    
            $Name htmlentities(stripslashes($row3['Name']));
                    
            $Vorname htmlentities(stripslashes($row3['Vorname']));
                    
            $Untertitel htmlentities(stripslashes($row3['Untertitel']));
                    
            $Bild htmlentities(stripslashes($row3['Bild']));
                    
            $e_Mail htmlentities(stripslashes($row3['e_Mail']));
                    
            $Spruch htmlentities(stripslashes($row3['Spruch']));
                    
            $Aufgabengebiete htmlentities(stripslashes($row3['Aufgabengebiete']));
                    
            $Ausbildung htmlentities(stripslashes($row3['Ausbildung']));
                    
            $Hobbys htmlentities(stripslashes($row3['Hobbys']));
                    
            $Wasichnichtleidenkann htmlentities(stripslashes($row3['Wasichnichtleidenkann']));

                    
            $a++;
                    }
            mysql_free_result($result3);
                
            } else {
            $_err_titel="FEHLER";
            $_err_text="Mitarbeiter NICHT gefunden";
            include(
            "../_global/_fehlerseite.inc");
            }

            ?>
            das ist der code der seite.


            die seite ist: http://www.tanzschule-backhausen.de/....php?MMA_Nr=24
            Zuletzt geändert von Kropff; 22.06.2009, 19:22.

            Kommentar


            • #7
              Schön dass du die PHP-Tags nutzt. Aber bitte brich den Code noch um, wir wollen nicht bis Russland scrollen. Danke.

              Und wo sind jetzt eigentlich die Änderungen im Code, hä?

              Kommentar


              • #8
                Zitat von tb_michi Beitrag anzeigen
                das ist der code der seite.
                Und wo hast du das vorgeschlagene eingebaut?
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  PHP-Code:
                  <?php
                  // ---- Mitarbeiter ---------------------------------------------------------------------------

                  $query "SELECT ...";
                  $result3 mysql_query("SELECT tss_mitarbeitergruppe.Bezeichnung,tss_mitarbeiter.* FROM tss_mitarbeiter 
                                      LEFT JOIN tss_mitarbeitergruppe ON tss_mitarbeiter.MG_Nr=tss_mitarbeitergruppe.MG_Nr 
                                      WHERE tss_mitarbeitergruppe.TSS='
                  $ums_tss' AND tss_mitarbeiter.MA_Nr='$MMA_Nr' AND _geloescht='0'") or die(mysql_error() . $query);
                  if(
                  $num3 mysql_num_rows($result3)) {
                          while(
                  $row3 mysql_fetch_array($result3)) {
                          
                  $MG_Nr $row3['MG_Nr'];
                          
                  $Bezeichnung htmlentities(stripslashes($row3['Bezeichnung']));
                          
                  $MA_Nr =$row3['MA_Nr'];
                          
                  $Name htmlentities(stripslashes($row3['Name']));
                          
                  $Vorname htmlentities(stripslashes($row3['Vorname']));
                          
                  $Untertitel htmlentities(stripslashes($row3['Untertitel']));
                          
                  $Bild htmlentities(stripslashes($row3['Bild']));
                          
                  $e_Mail htmlentities(stripslashes($row3['e_Mail']));
                          
                  $Spruch htmlentities(stripslashes($row3['Spruch']));
                          
                  $Aufgabengebiete htmlentities(stripslashes($row3['Aufgabengebiete']));
                          
                  $Ausbildung htmlentities(stripslashes($row3['Ausbildung']));
                          
                  $Hobbys htmlentities(stripslashes($row3['Hobbys']));
                          
                  $Wasichnichtleidenkann htmlentities(stripslashes($row3['Wasichnichtleidenkann']));

                          
                  $a++;
                          }
                  mysql_free_result($result3);
                      
                  } else {
                  $_err_titel="FEHLER";
                  $_err_text="Mitarbeiter NICHT gefunden";
                  include(
                  "../_global/_fehlerseite.inc");
                  }

                  ?>

                  so jetzt. sorry
                  Zuletzt geändert von Kropff; 22.06.2009, 19:22.

                  Kommentar


                  • #10
                    Nein, so nicht. Ich habe $query in meinem Code an mysql_query() übergeben. Mach das bitte auch, sonst hat die Aktion überhaupt keinen Sinn.
                    Statt der drei Punkte in $query sollst du natürlich deine ganze Query einsetzen.

                    Kommentar


                    • #11
                      fällt dir hier nichts auf
                      PHP-Code:
                      if($num3 mysql_num_rows($result3)) 
                      da fehlt doch wohl was, oder?

                      peter
                      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                      Meine Seite

                      Kommentar


                      • #12
                        zu meiner schande muss ich sagen "nein" ich kenn mich nicht wirklich toll mit php aus. bitte helft mir ;-)

                        Kommentar


                        • #13
                          Zitat von tb_michi Beitrag anzeigen
                          zu meiner schande muss ich sagen "nein" ich kenn mich nicht wirklich toll mit php aus. bitte helft mir ;-)
                          wenn du etwas vergleichen willst, wieviele gleichheitszeichen benötigst du? eins oder zwei?

                          also wann ist deinen bedingung wahr? immer. siehe auch hier. btw: den abschnitt solltest du dir mal komplett durchlesen, da gehts um elementare grundlagen.

                          peter
                          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                          Meine Seite

                          Kommentar


                          • #14
                            Zitat von Kropff Beitrag anzeigen
                            fällt dir hier nichts auf
                            PHP-Code:
                            if($num3 mysql_num_rows($result3)) 
                            da fehlt doch wohl was, oder?
                            Das fragt ganz einfach ab, ob es überhaupt Ergebnisdatensätze gibt.
                            (Die Variable $num3 wird zwar nachher im [gezeigten] Code nicht mehr verwendet, aber das ist erst mal unerheblich.)
                            also wann ist deinen bedingung wahr? immer.
                            Nein.
                            Der Boole'sche Wahrheitswert eines Zuweisungsausdrucks entspricht immer dem, was zugewiesen wurde.
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #15
                              @Kropff: Der Wert einer Zuweisung ist der zugewiesene Wert. Eine Zuweisung als if-Bedinung ergibt also true, wenn die rechte Seite true ergibt. mysql_num_rows() liefert ein int. Die Bedingung liefert also ein int. PHP castet das zu bool. Folglich wird die Bedingung nicht wahr, wenn mysql_num_rows() 0 oder false liefert.
                              Das Beispiel in deinem Tutorial ergibt immer true, weil (bool)'bumms' eben true ist.

                              In der if-Bedingung unseres Kandidaten fehlt nichts. Es ist eher etwas zuviel. Das "$num3 =" - braucht er nämlich gar nicht. Ebenso braucht er das $a++ weiter unten nicht. Aber soweit kommt der Interpreter bisher gar nicht. Er scheitert schon beim mysql_num_rows() und die Ursache ist ein fehlerhaftes SQL-Statement.
                              Zuletzt geändert von onemorenerd; 22.06.2009, 20:26.

                              Kommentar

                              Lädt...
                              X