Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Probleme mit count()

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Probleme mit count()

    Hallo,

    ich habe folgendes Problem: ich will aus einer einer Tabelle (aus einer MySQL-Datenbank) eine zeile auslesen und dann auswerten. Ich speichere die Zeile in einem Array und möchte dann das Array Wert für Wert durchgehen. Um zu wissen, wann ich das Ende des Arrays erreicht habe, bestimme ich vorher die Größe desselbigen mit count(). Allerdings liefert mir count() ein doppelt so großes Ergebnis zurück. Statt 22 Elemente hat das ausgelesene Array nun angeblich 44.

    PHP-Code:
    $sqlmysql_query("SELECT * FROM `foo` WHERE `bar` = $bla");
    $blubb mysql_fetch_array($sql);
            
    $j=count($blubb); 
    Kann mir vielleicht jemand sagen, wo mein Fehler liegt?

    Liebe Grüße,

    -ju

  • #2
    PHP-Code:
    $sqlmysql_query("SELECT count(*) as counter FROM `foo` WHERE `bar` = $bla"); 
    $blubb mysql_fetch_assoc($sql); 

    echo 
    $blubb["counter"]; 
    warum nicht so?
    ACHTUNG!!! SIGNATUR!!!
    PHP-Code:
    var_dump($gehirn); exit; 
    0 ??? WTF ? nervtag.de | freutag.net | friendmetr.com

    Kommentar


    • #3
      Das glaube ich auch nicht so ganz. Wenn count() sagt, es sind 44 Felder im Array, dann wird das so sein. Lass dir das Ergebnis ($blubb) ausgeben.
      Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

      Kommentar


      • #4
        Hallo,

        irr ich mich oder sollte in $blubb["counter"] das gleiche stehen wie in $j bei mir (wenn es denn funktionieren würde)? Wenn ich $blubb["counter"] ausgebe, dann bekomm ich den Wert "1", stimmt also leider auch nicht. Ausserdem brauch ich ja auch die ganzen Inhalte und nicht bloß die Menge der Elemente. Ich brauch beides

        Liebe Grüße,

        -ju

        Kommentar


        • #5
          mysql_array enthält alle Spalten der Datenbank zweimal: einmal mit dem numerischen Index 0,1,2,...letztes und einmal den assoziativen Array ('id','vorname','name' ...).
          Wenn du mysql_fetch_row() benutzt, dann hast du nur die numerischen Keys, und bei mysql_fetch_assoc() nur die sprechenden Keys.

          Hier nachlesen:
          PHP: mysql_fetch_row - Manual
          PHP: mysql_fetch_assoc - Manual
          PHP: mysql_fetch_array - Manual


          Das hättest du auch selbst sehen können nach print_r($blubb)
          [PHP]if ($var != 0) {
          $var = 0;
          }[/PHP]

          Kommentar


          • #6
            Zitat von lstegelitz Beitrag anzeigen
            Das glaube ich auch nicht so ganz. Wenn count() sagt, es sind 44 Felder im Array, dann wird das so sein. Lass dir das Ergebnis ($blubb) ausgeben.
            Hi

            ich habe $blubb ausgegeben. In 22 Feldern steht was drin, die Werte, die danach kommen sollten, sind leer. Und in der Tabelle gibt es ja für diese Zeile auch nur 22 Felder.

            Kommentar


            • #7
              Zitat von Wolla Beitrag anzeigen
              mysql_array enthält alle Spalten der Datenbank zweimal: einmal mit dem numerischen Index 0,1,2,...letztes und einmal den assoziativen Array ('id','vorname','name' ...).
              Wenn du mysql_fetch_row() benutzt, dann hast du nur die numerischen Keys, und bei mysql_fetch_assoc() nur die sprechenden Keys.

              Hier nachlesen:
              PHP: mysql_fetch_row - Manual
              PHP: mysql_fetch_assoc - Manual
              PHP: mysql_fetch_array - Manual


              Das hättest du auch selbst sehen können nach print_r($blubb)

              Hallo,

              Danke, das hat das Problem gelöst! Und print_r() kannte ich noch nicht, aber danke schön

              Liebe Grüße,

              -ju

              Kommentar

              Lädt...
              X