Ankündigung

Einklappen
Keine Ankündigung bisher.

Die Funktion gibt aus einem SQL-String keine Zeilen aus

Einklappen

Neue Werbung 2019

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

  • Die Funktion gibt aus einem SQL-String keine Zeilen aus

    Hallo! Die Funktion tab_out sollte einen SQL-String bzw result in einer Tabelle anzeigen, abhängig von dem SQL String

    Die Kopfzeilen werden ausgelesen, nicht aber die Inhalte. Woran kann das liegen?

    Liebe Grüße

    Bruno

    PHP-Code:
    $strSQL "Select * FROM a_table";
    $result mysqli_query($link$strSQL) or print(mysqli_error($link));
    echo 
    tab_out($result,$link);

    //======================================== tab_out
    function tab_out($result$link) {

    // Kopfzeilen der Tabelle generieren => klappt. 13 Spalten werden erzeugt
    $anz=mysqli_num_fields($result);
    $table "<table id='list'>";
    $table .= "<tr>";
    for (
    $i=0;$i<$anz;$i++){
    $table .= "<th>";
    $table .= mysqli_field_name($result,$i);
    $table .= "</th>";
    }
    $table .= "</tr>";
    $table .= "<tr><td>$anz<br /> ".mysqli_num_rows($result) ."</td></tr>"; <======== hier sehe ich die Anzahl Spalten (13und die Anzahl Zeilen (7)
    $table .= "<tr>";


    while (
    $row mysqli_fetch_array($result,MYSQLI_BOTH) ) { <======== hier werden keine Zeilen aus $result ausgelesenich erwarte eigentlich 7 Zeilen)

    for (
    $i_row 0$i_row <= $anz-1$i_row++) {

    $elem=$row[$i_row];
    $elem=nl2br($elem);
    }
    $table .= "<td valign='top'>$elem</td>";
    }
    $table .= "</tr>";
    }

    $table .= "</table>";

    return 
    $table;
    }

    // tab_out 

  • #2
    310 Beiträge und du weisst immer noch nicht wie man hier Code anschaulich präsentiert.
    Verwende die Code Tags.
    Select * sollte nicht verwendet werden, führe immer alle Spalten auf die du auch ausgeben willst.
    $anz ist wohl leer, mache mal ein var_dump darauf, das nennt sich dann Fehlersuche.
    valign='top' ist veraltet, nimm HTML5 und CSS in neuester Version dafür.


    Kommentar


    • #3
      Bitte den Code formatieren, das kann man ja nicht lesen so wie das aussieht.

      . Woran kann das liegen?
      An einem Fehler -> Debugge das mal: https://php-de.github.io/jumpto/faq/#debugging

      MOD: Und Code-Tags wurden ja schon erwähnt. Ergänze ich oben mal.
      The string "()()" is not palindrom but the String "())(" is.

      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
      PHP.de Wissenssammlung | Kein Support per PN

      Kommentar


      • #4
        Vielen Dank für Eure Tipps - der Code ist ca 15 Jahre alt :=) Mit dem aktuellen PHP mussten wir alle mysql Befehle auf mysqli umbauen.


        Aber es ist die Zeile (3) zu liegen.

        Ich habe das mysql_fetch_array isoliert und es kommt in var_dump($row) NULL heraus.

        Damit wird Zeile (4) nicht erreicht.



        PHP-Code:
        (1)   var_dump($anz);             // Test1
        (2)  echo "anz: $anz";    
        (
        3)   while ($row  =  mysqli_fetch_array($result,MYSQLI_BOTH)  ) {
        (
        4)    echo "test";
            
        var_dump($row); 

        Kommentar


        • #5
          Fehler ausgeben lassen: https://php-de.github.io/jumpto/sql/...ehler-ausgeben
          The string "()()" is not palindrom but the String "())(" is.

          Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
          PHP.de Wissenssammlung | Kein Support per PN

          Kommentar

          Lädt...
          X