[OOP] Problem mit eigener MySQL Klasse

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

  • [OOP] Problem mit eigener MySQL Klasse

    Also, ich widme mich derzeit an OOP, und hab mir durch tuts und studieren von Queltexten folgende Querry Klasse erstellt.

    Eine Verbindung durch "$verbindung = new mysql(xyz)" lässt sich noch aufbauen, jedoch kann ich auf keine weitere Funktion zurückgreifen. (Ein parse Error erscheint nicht... einfach keine Ausgabe)

    Beispiel:
    Ich baue eine Verbindung zum MySQL-Server +DB auf.

    $verbindung = new mysql("localhost", "testdb", "user","meinpw");

    Diese geht ohne Probleme, gebe ich falsche Daten ein, kommt die
    gewünschte fehlermeldung das was nicht klappte.

    Hab ich nun diese Verbindung, und versuche per

    $test = $verbindung->query("INSERT into 'datenbank' ('feld1') values ('test');")

    Passiert nichts. Es wird nichts hinzugefügt.
    Ich verzweifel echt

    Benutzen tue ich derzeit XAMPP lokal umgestellt auf PHP4.

    Ich hoffe es kann mir jemand auf die sprünge helfen :|
    Schonmal danke.

    Source:


    PHP-Code:
    <?php
      
    class mysql
      
    {
              var 
    $server//Definieren der Variablen
              
    var $db;
              var 
    $user;
              var 
    $pw;
              var 
    $sql "";
              var 
    $result "";
              var 
    $error 0;
              var 
    $errno 0;
              
              function 
    mysql($db_server$db_database$db_user$db_password
    //Verbindung zum MySQL-Server aufbauen, und DB auswaehlen.
              
    {
                  
    $this->server $db_server;
                  
    $this->db     $db_database;
                  
    $this->user   $db_user;
                  
    $this->pw     $db_password;
                  
                  
    $connect = @mysql_connect($this->server$this->user$this->pw);
                  
                  if(!
    $connect)
                  {
                      die(
    "<b>MySQL Verbindungsfehler</b>");
                  }    
                  if(!
    mysql_select_db($this->db))
                  {
                      die(
    "<b>MySQL Datenbankfehler</b>");
                  }
              }
              
              function 
    query($query
    //Senden eines einfachen Query´s, z.B. INSERT xyz (geht nicht)
              
    {
                  
    $this->sql    mysql_query($query);
              }
              
              function 
    fetcharray($query
    //Abragen einer Tabelle und gleichzeitiges 
    speichern in einem Array (geht auch nicht)
              {
                  
    $this->sql    $query;
                  
    $this->result mysql_query($this->sql);
                  
    $this->result mysql_fetch_array($this->result);
                  
                  if(!
    $this->result)
                  {
                      
    $this->error mysql_error();
                      
    $this->errno mysql_errno();
                  } else {
                      return 
    $this->result;
                  }
              }
              
              function 
    numrows($query
    //Zaehlen der Reihen (Geht auch nicht)
              
    {
                  
    $this->sql    trim($query);
                  
    $this->result mysql_query($this->sql);
                  
    $this->result mysql_num_rows($this->result);
                  
                  if(!
    $this->result)
                  {
                      
    $this->error  mysql_error();
                      
    $this->errno  mysql_errno();
                  } else {
                      return 
    $this->result;
                  }
              }
              
              function 
    error() 
    //Funktionen zur Fehleranalyse aus einem 
    Tutorial (gehen auch nicht  )
              {
                  
    $tmp $this->result;
                  
    $tmp = (bool)$tmp;
                  
    $tmp = !$tmp;
                  
                  return 
    $tmp;
              }
              
              function 
    geterror()
              {
                  if(
    $this->errno)
                  {
                      echo 
    "Query:<br />\n".$this->_sql."<br />\n";
                      echo 
    "Antwort:<br />\n".$this->error."<br />\n";
                      echo 
    "Fehercode:<br />\n".$this->errno.">br />\n";
                  } else {
                      echo 
    "Es trat kein Fehler auf !";
                  }
              }
      }
    ?>
    Zuletzt geändert von decoy; 09.02.2005, 16:27.
    linux =)

  • #2
    http://www.php-resource.de/forum/sho...threadid=47906

    bitte lesen + verstehen + befolgen!

    Kommentar


    • #3
      So, source (sollte) von der Breite nun passen, und mehr Infos zum problem geschrieben.

      Ich komme echt nicht weiter, sry :[
      linux =)

      Kommentar


      • #4
        besser!

        ergänze mal die query-methode durch
        PHP-Code:
        ... mysql_query($query) or die(mysql_error()); 

        Kommentar


        • #5
          naja, es fehlt das grundlegende debugging. wo sind deine testausgaben, statusmeldungen, mysql_error, ...

          auch wäre es sinnvoll, wenn die methode eine rückgabe (true/false) macht.

          Kommentar


          • #6
            *vor allen niederknie*

            Bette vergebt mir... ich hab mich damit 3 Tage nun rumgequält... ich habe jetzt 3 Tage gebraucht, um festzustellen, das ich nicht in der Lage war, den MySQL Befehl korrekt zu verfassen

            Sorry nochmals... *kurz vorm selbst schlagen*
            linux =)

            Kommentar


            • #7
              Wie gesagt, es geht nichts über vernünftiges Debuging.

              Kommentar

              Lädt...
              X