Ankündigung

Einklappen
Keine Ankündigung bisher.

Daten aus Mysql auslesen

Einklappen

Neue Werbung 2019

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

  • Daten aus Mysql auslesen

    Hallo hab ein kleines Probleme ich möchte Daten aus einer Mysql Datenbank lessen mit folgender methode

    Code:
    <?php
      class mysql_db
      {
      	var $link = false; // Speichert die Verbindungs-ID zur Datenbank
    	var $resid = false; // Speichert die Ressourcen-ID des letzten Aufrufs von mysql_query()
    	var $doerror = true; // Hat den Wert True, wenn die Klasse Fehlermeldungen ausgeben soll
    	var $host = "#"; // Hostname der MySQL-Datenbank
    	var $user = "#"; // Benutzername
    	var $passwd = "#"; // Passwort
    	var $tables = "#"; // Datenbankname
      }
      
    function connect()
    // Verbindet zur Datenbank
    {
    $temp = @mysql_connect
    ($this->host, $this->user, $this->passwd);
    if (!$temp) 
    {
    $this->echoerror();
    return false;
    }
    $this->link = $temp;
    $temp = @mysql_select_db($this->tables, $temp);
    if (!$temp) 
    {
    $this->echoerror();
    return false;
    }
    return $this->link;
    
    }
    
    
    
    function query($sql)
    // Sendet eine Anfrage an die Datenbank 
    {
    if (!$this->link) 
    {
    if ($this->doerror) 
    {
    echo ("Nicht verbunden.
    ");
    return false;
    }
    }
    if ($this->resid) @mysql_free_result($this->resid);
    $result = mysql_query($sql, $this->link);
    if (!$result) $this->echoerror();
    $this->resid = $result;
    return $result;
    }
    
    function echoerror()
    // erzeugt eine Fehlerausschrift
    // wenn $doerror=TRUE
    {
    if (!$this->doerror) return;
    if (!mysql_errno()) return;
    echo ("<font color=\"red\">" . mysql_errno());
    echo (": ". mysql_error() ." </font>
    ");
    }
    
    function data()
    // liefert einen Datensatz
    {
    if (!$this->link)
    {
    if ($this->doerror)
    echo ("Nicht verbunden!
    ");
    return false;
    }
    if (!$this->resid)
    {
    if ($this->doerror) 
    echo ("Keine Abfrage!
    ");
    return false;
    }
    $result = mysql_fetch_array($this->resid, MYSQL_BOTH);
    $this->echoerror();
    return $result;
    }
    
    
    function echoquery($sql)
    //Fragt die Datenbank ab und stellt die Abfrage dar
    {
    $this->query($sql);
    echo("<table border cellpadding=\"3\"><tr>");
    $index = 0;
    echo("<th>record</th>");
    while ($field = mysql_fetch_field($this->resid))
    echo("<th>$field->name</th>");
    echo ("</tr>\n");
    $rec=0;
    while ($row = $this->data())
    {
    $rec++;
    echo("<tr><td>$rec</td>");
    for ($i=0; $i<mysql_num_fields($this->resid); $i++)
    echo("<td>".htmlentities($row[$i])."</td>");
    echo("</tr>\n");
    }
    echo ("</table>");
    }
    
    function set_doerror($boolvalue)
    {
    $this->doerror = $boolvalue;
    }
    
    
    function mysql_db()
    // Construktor
    {
    $this->connect();
    }
    
    $db = new mysql_db;
    ?>
    Und auf der andern Seite ist der Code wie folgt

    Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Unbenanntes Dokument</title>
    </head>
    
    <body>
    <?php
      include("config/mysqldb.php");
      $db->echoquery("SELECT * FROM produkte");
    
    ?>
    </body>
    </html>
    Ich bekomme diese Fehler Meldung

    Fatal error: Call to undefined function: echoquery() in /kunden/75171_04317/test1/index.php on line 11

    könnt ihr mir Bitte helfen ?

  • #2
    $db->echoquery("SELECT * FROM produkte");
    echoquery ist keine Methode der Klasse. Die hast Du nämlich direkt nach den var-Deklarationen beendet.
    class mysql_db
    {
    var $link = false; // Speichert die Verbindungs-ID zur Datenbank
    var $resid = false; // Speichert die Ressourcen-ID des letzten Aufrufs von mysql_query()
    var $doerror = true; // Hat den Wert True, wenn die Klasse Fehlermeldungen ausgeben soll
    var $host = "#"; // Hostname der MySQL-Datenbank
    var $user = "#"; // Benutzername
    var $passwd = "#"; // Passwort
    var $tables = "#"; // Datenbankname
    }

    Kommentar


    • #3
      Re: Daten aus Mysql auslesen

      Zitat von CityHubter
      Hallo hab ein kleines Probleme ich möchte Daten aus einer Mysql Datenbank lessen mit folgender methode

      PHP-Code:
        class mysql_db
        
      {
            var 
      $link false// Speichert die Verbindungs-ID zur Datenbank
          
      var $resid false// Speichert die Ressourcen-ID des letzten Aufrufs von mysql_query()
          
      var $doerror true// Hat den Wert True, wenn die Klasse Fehlermeldungen ausgeben soll
          
      var $host "#"// Hostname der MySQL-Datenbank
          
      var $user "#"// Benutzername
          
      var $passwd "#"// Passwort
          
      var $tables "#"// Datenbankname
        
      // guckst du hier 
      du machst die Classe zu früh zu. und wie wärs mit formatiertem quelltext?
      :arrow: [URL="http://tiny.cc/0xlvv"]Wie man Fragen richtig stellt[/URL]

      Kommentar


      • #4
        Supi jetzt hab ich ein anderes Problem bekomme jetzt diese Nachricht

        Warning: mysql_fetch_field(): supplied argument is not a valid MySQL result resource in /kunden/75171_04317/test1/config/mysqldb.php on line 92

        Kommentar


        • #5
          Alle mysql Funktionen durchgehen und mit dem Handbuch vergleichen
          http://de2.php.net/mysql
          Wenn die jeweilige Funktion im Fehlerfall false zurückgibt, im Code immer mit or die(mysql_error()) verbinden.
          Also z.B. $result=mysql_query($sql, $db) or die(mysql_error().': '.$sql);

          Kommentar


          • #6
            Mann. Warum schreiben eigentlich 60% aller User Klasse mit C?
            [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

            Kommentar


            • #7
              Hab ich jetzt gemacht und bekomme die Nachricht

              No Database Selected: select * from produkte

              Aber ich wähle doch eine aus mit

              PHP-Code:
              <?php
                
              include("config/mysqldb.php");
                
              $db->echoquery("select * from produkte");
              ?>

              Kommentar


              • #8
                Nein, im SELECT gibst Du die Tabelle an.
                Die Datenbank wird mit mysql_select_db ausgewählt,

                Kommentar


                • #9
                  Hab es gefunden vielen vielen Dank

                  Kommentar

                  Lädt...
                  X