Wert aus Datenbank mit mysqli auslesen

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

  • Wert aus Datenbank mit mysqli auslesen

    Hallo,

    ich habe ein (kleines und womöglich auch dummes) Problem.
    Ich möchte aus einer Datenbank einen Wert auslesen - nun, eigentlich sollte dies ja kein Problem sein, aber da dieses Codestück einfach nicht funktionieren will, frage ich einmal hier nach.

    PHP-Code:
    <html>
    <body>
    <?php
            
    --Verbindung herstellen
        $mysqlhost   
    "localhost";    
            
    $mysqluser   "root";
        
            
    $mysqlpasswd "root";
        
            
    $mysqldb     "lehrerbeurteilung";

        
    $mysqli      = new mysqli($mysqlhost$mysqluser$mysqlpasswd$mysqldb);
            --
    Anzahl der Fragebögen in der Datenbank herausfinden
        
    if($result $mysqli->query("select count(fragenbogenID) from tblfragebogen")){
                    --
    Anzahl in ein Array schreiben
            
    while($row $result->fetch_array()){
                            --
    Da die Abfrage nur einen Wert hatsollte row[0eigentlich das gewünschte Ergebnis bringen
                $fragebogennr 
    $row[0];
                echo 
    $fragebogennr;
        }
        
    $result->close();
    ?>
    </body>
    </html>
    Bei der Ausgabe erfolgt dann einfach gar nichts.

    Danke schon im Voraus für die Hilfe.

    Liebe Grüße

    Edit: Sorry, hab das mit den PHP und Code Tags ausgetauscht.
    Also die Datenbankverbindung funktioniert, kein connect_error :/
    Zuletzt geändert von Crowe; 19.01.2007, 15:27.

  • #2
    error_reporting hoch geschraubt? mysqli_connect_error() und mysqli_error() sagen was?
    Bei PHP-Code bitte die PHP-Tags und nicht die CODE-Tags benutzen.
    Nieder mit der Camel Case-Konvention

    Kommentar


    • #3
      Und für Edits gibt's auch EDIT-Tags.
      Und mysqli_error()?
      Nieder mit der Camel Case-Konvention

      Kommentar


      • #4
        lol so viele Tags hier, das verwirrt den 08/15 Forenmenschen

        Also ich bekomme gar keine Fehlermeldungen, das ist ja mein Problem - ansonsten wäre es wahrscheinlich wesentlich einfacher Fehler zu finden.

        Nur error_reporting aus deinem ersten Post sagt mir nichts. Ist das generell der Überbegriff von "mysqli_error()" und "mysqli_connect_error()"?

        Hab leider noch sehr wenig Erfahrung mit mysqli und versuche mir das Wissen dicker Bücher anzueigenen :S

        Liebe Grüße

        Kommentar


        • #5
          Nein, error_reporting zeigt dir jegliche PHP-Fehlermeldungen an, die aufgetreten sein könnten. Mit mysqli_(connect_)error() hat das nichts zu tun.
          Mehr dazu siehe
          error_reporting() im Handbuch, das ist nämlich elementar für das Schreiben von Skripten.
          PHP-Code:
          error_reporting(E_ALL); // Jegliche PHP-Fehler werden gemeldet 
          Hast du mal Testausgaben gemacht? print_r($row) und dergleichen?
          Nieder mit der Camel Case-Konvention

          Kommentar


          • #6
            Und wenn du
            PHP-Code:
            if($result $mysqli->query("select * FROM from tblfragebogen WHERE feld=$fragenbogenID")){
                echo 
            $result->num_rows;

            probierst ?
            Bist du auch sicher dass bei deinem Code alle Klammern dabei sind ? Sieht mir auch so aus als hättest du nicht alle Klammern geschlossen...

            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


            • #7
              Ah, du hast recht - ich habe } nach dem while vergessen :/

              Aber das dient der Lösung leider auch nicht. Ich habe deine Variante getestet und auch dies führt zu keiner Ausgabe, was ich nicht ganz verstehe.

              In anderen Files funktioniert die Datenbankverbindung, deshalb sollte es daran eigentlich nicht scheitern.

              Was mich am meisten verwundert ist, dass wenn ich gleich zu Beginn ein echo "Test" mache, so wird das auch nicht ausgeben. D.h. irgendwo müsste ein Fehler in der Syntax liegen. *kopf kratz

              Ich habe auch error_reporting(E_ALL) versucht, aber auch nichts

              Danke dennoch für eure Hilfe

              Kommentar


              • #8
                Kannst du mal bitte den aktuellen Code posten?
                Würde ein Syntax-Fehler oder dergleichen vorliegen, so würde error_reporting - sofern angeschaltet - sich melden...
                Nieder mit der Camel Case-Konvention

                Kommentar


                • #9
                  PHP-Code:
                  <html>
                  <body>
                  <?php    
                      error_reporting
                  (E_ALL); --hoffe ich habe hier die Verwendung richtig verstanden ^^
                      --echo 
                  "Test"keine Ausgabe an dieser Stelle
                      $mysqlhost   
                  "localhost";    
                      
                  $mysqluser   "root";
                      
                  $mysqlpasswd "root";
                      
                  $mysqldb     "lehrerbeurteilung";

                      
                  $mysqli      = new mysqli($mysqlhost$mysqluser$mysqlpasswd$mysqldb);
                      if(
                  mysqli_connect_errno()) {
                    
                          echo 
                  "<p>Sorry, no connection! "mysqli_connect_error(), "</p>\n";

                            exit();
                      
                  }
                      if(
                  $result $mysqli->query("select count(fragenbogenID) from tblfragebogen")){
                          while(
                  $row $result->fetch_array()){
                              
                  print_r($row); --keine Ausgabe
                              $fragebogennr 
                  $row[0];
                              echo 
                  $fragebogennr; --auch keine Ausgabe :/
                          }
                      }
                      --if(
                  $result $mysqli->query("select * FROM from tblfragebogen WHERE feld=$fragenbogenID")){
                          --    echo 
                  $result->num_rows;
                      --} 
                  Hab ich versuchtaber leider auch kein Ergebnis zu sehen
                      $result
                  ->close();
                  ?>
                  </body>
                  </html>
                  So, hier der Code noch einmal. Ich hoffe, dass das error_reporting dorthin gehört.

                  Ich verstehe leider nicht ganz woran es liegt. Also ich hatte schon früher das Problem, dass nichts ausgegeben wurde, da hab ich allerdings das $result->close() vergessen - wobei eigentlich auch dies zu keinem Fehler führen sollte oO

                  Kommentar


                  • #10
                    Noch ne ganz blöde Frage: Hast du die Kommentare im php Code im Ernst so '--Da die Abfrage nur einen Wert hat, sollte row[0] eigentlich das gewünschte Ergebnis bringen' geschrieben ???
                    Die korrekten Zeichen für einzeilige Kommentare wäre wohl // oder für mehrzeilige /*irgendein Kommentar*/

                    Mich wundert in diesem Falle nur, dass sich php nicht sehr stark beschwert

                    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


                    • #11
                      Diese Kommentar-Zeichen sind mir auch neu...
                      PHP-Code:
                      // einzeiliger Kommentar

                      /* mehrzeiliger
                      Kommentar */ 
                      Mich wundert gerade auch so einiges...
                      Nieder mit der Camel Case-Konvention

                      Kommentar


                      • #12
                        Um Gottes willen, ist mir das peinlich *g

                        Aber ich habe mir irgendwie eingebildet, dass einzeilige Kommentare '--' sind und anders als in Java. Keine Ahnung, woher ich den Mist mit den Kommentaren habe

                        Nun gut, immerhin funktioniert die Ausgabe von Test. Das ist ein Anfang. Aber beide Methoden um das Selectstatement auszugeben klappen leider noch nicht.

                        Ich wünschte es gäbe für PHP eine Entwicklungsumgebung wie Eclipse ^^

                        Danke, ich werde weitersuchen

                        Kommentar


                        • #13
                          Gibt es, wenn mich nicht alles täuscht. Einfach mal googlen.
                          Was gibt $result->num_rows aus?
                          PHP-Code:
                          $result $mysqli->query('dein_SQL');
                          echo 
                          $result->num_rows
                          Nieder mit der Camel Case-Konvention

                          Kommentar

                          Lädt...
                          X