mysql_num_rows( $result );

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

  • mysql_num_rows( $result );

    Meine PHP Scripts habe ich gerade hoch geladen. Offline (XJ! etc.) funktionieren sie alle perfekt. Nach dem Hochladen habe ich aber folgendes Problem:

    In der Datei chronik.pho funktioniert online alles bestens:
    PHP-Code:
    <?php

        
    include 'db_abfrage.inc.php';

        
    setlocale (LC_ALL'de_DE@euro''de_DE''de''ge');

        
    $ido    =    $_REQUEST['ido'];
        
    $kz    =    $_REQUEST['kz'];
        
    $rubrik    =    $_REQUEST['rub'];
        
    $query    =    "SELECT * FROM chronik WHERE kz = '$kz' ORDER BY date";
        
    $result    =    mysql_query$query );
        
    $anzahl    =    mysql_num_rows$result );
    ?>


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

    <html>
    <head>
        <title>DB Tabelle für Chronik</title>
        <LINK REL="STYLESHEET" HREF="../../../templates/airstation/css/template_css.css" TYPE="TEXT/CSS">
    </head>
    <body>

    <table align=center cellpadding=2 cellspacing=2>

    <?php

    echo "<tr><td class=contentheading>" $rubrik "</td></tr>";

        while(
    $row mysql_fetch_array($result))
        {

            
    $ts    =    $row['date'];
            echo 
    "<tr><td class=td111>";
            if (
    $row['mittel_date'] === NULL && $row['tag'] === NULL && $row['monat'] === NULL)
            {
            }
            elseif (
    $row['mittel_date'] > NULL && $row['tag'] === NULL && $row['monat'] === NULL)
            {
                echo 
    $row['mittel_date']." ";
            }
            elseif (
    $row['mittel_date'] === NULL && $row['tag'] === NULL && $row['monat'] > NULL)
            {
                echo 
    strftime ("%B-"strtotime($ts));
            }
            elseif (
    $row['mittel_dIn der Datei ate'] === NULL && $row['tag'] > NULL && $row['monat'] > NULL)
            {
                echo 
    strftime ("%d-%B-"strtotime($ts));
            }
                            
        echo 
    $row['jahr'];
        echo 
    "</td><td class=td1>" $row['ereignis'] . "</td></tr>";

        }

    ?>
    </table>
    In der Datei db_tabelle.php hingegen meckert er über die falsche Zeile 9 mit haargenau der selben Zuweisung $anzahl = mysql_num_rows( $result ); erscheint die Fehlermeldung:
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/html/web268/html/mambots/content/AS/db_tabelle.php on line 9
    PHP-Code:
    <?php

        
    include 'db_abfrage.inc.php';

        
    $ido    =    $_REQUEST['ido'];
        
    $kz    =    $_REQUEST['kz'];
        
    $rubrik    =    $_REQUEST['rub'];
        
    $query    =    "SELECT * FROM $rubrik WHERE kz = '$kz' ORDER BY typ";
        
    $result    =    mysql_query$query );
        
    $result_typ    =    mysql_query$query );
        
    $anzahl    =    mysql_num_rows$result );
        
    $id1    =    1;

    ?>



    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

    <html>
    <head>
        <title>DB Tabelle für Abmessung, Leistung, Massen</title>
        <LINK REL="STYLESHEET" HREF="../../../templates/airstation/css/template_css.css" TYPE="TEXT/CSS">
    </head>
    <body>


        <table align=center cellpadding=2 cellspacing=2>

    <?php

    echo "<tr><td class=contentheading>" $rubrik "</td></tr>";

    for (
    $i=1$i <= $anzahl$i++)
    {
    $datensatz    =    mysql_fetch_assoc$result );                    
        foreach( 
    $datensatz as $zeilenbezeichnung[$id1] => $wert[$id1])
        {
            if (
    $zeilenbezeichnung[$id1] >= "kz" || $zeilenbezeichnung[$id1] >= "ts")
            {
            continue;
            }
        
    $id1++;
        }
    }

    $id5=($id1)/$anzahl;

    echo 
    "<tr><td></td>";

    while(
    $row mysql_fetch_array($result_typ))
    {
    echo 
    "<td class=td21>" $row[typ] . "</td>";
    }

    for (
    $id2=1$id2 <= $id5$id2++)
    {
        if (    
    $wert[$id2] === NULL &&
            
    $wert[$id2+$id5*0] === NULL &&
            
    $wert[$id2+$id5*1] === NULL &&
            
    $wert[$id2+$id5*2] === NULL &&
            
    $wert[$id2+$id5*3] === NULL &&
            
    $wert[$id2+$id5*4] === NULL &&
            
    $wert[$id2+$id5*5] === NULL &&
            
    $wert[$id2+$id5*6] === NULL &&
            
    $wert[$id2+$id5*7] === NULL &&
            
    $wert[$id2+$id5*8] === NULL)    
        {
        continue;
        }

    echo 
    '<tr><td class=td1>' $zeilenbezeichnung[$id2] . '</td>';
    $id4=$id2;

        for (
    $id3=1$id3 <= $anzahl$id3++)
        {
        echo 
    '<td class=td11>' $wert[$id4] . '</td>';
        
    $id4=$id4+$id5;
        }

    }

    ?>

        </table>

    </body>
    </html>
    Ich weiß mir keinen Rat, ihr?
    Zuletzt geändert von AirStation.de; 06.08.2007, 13:15.
    [FONT=tahoma][COLOR=darkblue]AirStation.de
    AirStation - Militärluftfahrt im Detail[/COLOR]
    [COLOR=darkblue][/COLOR][/FONT]

  • #2
    Sieht nach einem Folgefehler aus - was sagt mysql_error?
    Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

    Kommentar


    • #3
      PHP-Code:
      $anzahl    =    mysql_num_rows$result );
      $result    =    mysql_query$query ); 
      würde ich mich als Parser auch beschweren von wegen
      In der Datei db_tabelle.php hingegen meckert er über die falsche Zeile 9 mit haargenau der selben Zuweisung $anzahl = mysql_num_rows( $result ); erscheint die Fehlermeldung:
      Das mit haargenau halte ich für ein Gerücht

      Gruss

      tobi
      Zuletzt geändert von jahlives; 27.07.2007, 12:17.
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar


      • #4
        Ich verstehe DANKE!

        Sry für die verspätete Antwort.
        [FONT=tahoma][COLOR=darkblue]AirStation.de
        AirStation - Militärluftfahrt im Detail[/COLOR]
        [COLOR=darkblue][/COLOR][/FONT]

        Kommentar


        • #5
          [MySQL 4.1]

          Der Fehler war ein ein anderer. In meiner Offline Version war die Groß/Kleinschreibung nicht relevant. Auf meinem Server aber sehr wohl. Damit fand er die korrekte DB Tabelle nicht und so ... !
          Vielen Dank trotzdem!
          [FONT=tahoma][COLOR=darkblue]AirStation.de
          AirStation - Militärluftfahrt im Detail[/COLOR]
          [COLOR=darkblue][/COLOR][/FONT]

          Kommentar


          • #6
            Der Fehler war ein ein anderer.
            Das glaubst du !
            PHP-Code:
            $anzahl    =    mysql_num_rows$result );
            $result    =    mysql_query$query ); 
            Wenn du eine Var vor deren Zuweisung benutzen willst, dann kann das nicht gut gehen. Gross-Kleinschreibung ist dabei so was von sicher egal.
            Aber bitte wenn du meinst...

            Gruss

            tobi

            p.s. wäre mit das Neuste, das MySql die Tabellennamen table und Table als gleich anschaut (egal ob lokal oder im www)
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              p.s. wäre mit das Neuste, das MySql die Tabellennamen table und Table als gleich anschaut (egal ob lokal oder im www)
              Nem Windows MySQL ist sogar TaBlE scheiss egal...
              gruss Chris

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

              Kommentar


              • #8
                Nem Windows MySQL ist sogar TaBlE scheiss egal...
                Danke für die Aufklärung. Wusste ich echt ned, aber wiedermal typsich Windows

                Gruss

                tobi
                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Kommentar


                • #9
                  Seid nicht sauer wenn ein n00b noch was zu verbessern hat.
                  Es was so, dass der Fehler mit der Zuweisung gravierend war und es natürlich damit nicht funktionierte aber trotz der Verbesserung funktionierte es nicht. Mein php Script funktioniert multibel für verschiedene Tabellen in meine DB. Alle Tabellen sind klein geschrieben worden (abmessung). Mit einem Klick wurde dann die Tabelle dem Script zugewiesen, aber eben groß geschrieben (Abmessung). Dies funktionierte nicht das $anzahl nicht zugewiesen wurde, da es keine groß geschriebene Tabelle (Abmessung) gab sondern nur eine klein geschriebene (Abmessung). Glaubt mir, als ich die Tabellen in Großschreibung umbenannt hatte funktionierte das Script einwandfrei. Mag sein, dass das nur bei meinem Hoster so funktioniert.
                  Schaut's auch mal an www.AirStation.de
                  [FONT=tahoma][COLOR=darkblue]AirStation.de
                  AirStation - Militärluftfahrt im Detail[/COLOR]
                  [COLOR=darkblue][/COLOR][/FONT]

                  Kommentar


                  • #10
                    Wieso verbessern ?

                    Ich gehe jetzt einfach davon aus das deine offline version eine XAMP installation ist.. Also auf Windows basierend.

                    Wie ich sagte interessiert sich der Windows MySQL Server nicht für die groß und Kleinschreibung der Tabellennamen.

                    Dein hoster wird (einfach Erfahrungsgemäß gesehen) eine Linux Umgebung einsetzen und der Linux MySQL interessiert sich sehr wohl für die Tabellennamen.

                    Genau wie es bei dateien ist.

                    Unter Linux kannst du in EINEM Verzeichnis die Dateien

                    abc.txt
                    aBc.txt
                    abC.txt

                    haben. Unter Windows wird das nicht funktionieren.
                    gruss Chris

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

                    Kommentar


                    • #11
                      Alles klar, nun weiß ich besser bescheid. Dank noch mal an euch.
                      [FONT=tahoma][COLOR=darkblue]AirStation.de
                      AirStation - Militärluftfahrt im Detail[/COLOR]
                      [COLOR=darkblue][/COLOR][/FONT]

                      Kommentar

                      Lädt...
                      X