Mysql DB class

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

  • Mysql DB class

    Moin
    Ich habe hier ne Mysql Class, leider kenne ich mich damit nicht so gut aus. Gibt es daran noch etwas zu verbessern?

    PHP-Code:
    class db_sql {
     var 
    $host     " ";
     var 
    $database " ";
     var 
    $user     " ";
     var 
    $password " ";
     var 
    $link_id  0;
     var 
    $query_id 0;
     var 
    $record   = array();
     var 
    $row;
     var 
    $errno    0;
     var 
    $error    "";

     function 
    halt($msg) {
      
    printf("</td></tr></table><b>Datenbank-Fehler : </b> %s<br>\n"$msg);
      
    printf("<b>MySQL Fehler</b>: %s (%s)<br>\n"$this->errno$this->error);
      
    printf("<b>Skript</b>: ".getenv("REQUEST_URI")."<br>\n");
      
    printf("<b>Referer</b>: ".getenv("HTTP_REFERER")."<br>\n");
      die(
    "session halted.");
     }

     function 
    connect() {
      if ( 
    == $this->link_id ) {
       
    $this->link_id=mysql_connect($this->host$this->user$this->password);
       if (!
    $this->link_id) {
        
    $this->halt("Keine Verbindung möglich (link-id == false)");
       }
       if (!
    mysql_query(sprintf("use %s",$this->database),$this->link_id)) {
        
    $this->halt("Datenbank kann nicht benutzt werden ".$this->database);
       }
      }
     }

     function 
    query($query_string) {
      
    $this->connect();
      
    $this->query_id mysql_query($query_string,$this->link_id);
      
    $this->row   0;
      
    $this->errno mysql_errno();
      
    $this->error mysql_error();
      if (!
    $this->query_id) {
       
    $this->halt("Ungültiger SQL-Befehl : ".$query_string);
      }
      return 
    $this->query_id;
     }

     function 
    next_record() {
      
    $this->record mysql_fetch_array($this->query_id);
      
    $this->row   += 1;
      
    $this->errno mysql_errno();
      
    $this->error mysql_error();
      
    $stat is_array($this->record);
      if (!
    $stat) {
       
    mysql_free_result($this->query_id);
       
    $this->query_id 0;
      }
      return 
    $stat;
     }

     function 
    result() {
      return 
    mysql_result($this->query_id,0,0);
     }

     function 
    num_rows() {
      return 
    mysql_num_rows($this->query_id);
     }

     function 
    optimize() {
      
    $tabelQuery 'SHOW TABLE STATUS';
      
    $result mysql_query($tabelQuery) or die(mysql_error());
      if (
    mysql_num_rows($result)) {
       while (
    $row mysql_fetch_array($result)) {
        
    $optQuery 'OPTIMIZE TABLE '.$row[0] or die(mysql_error);
        
    $optResult mysql_query($optQuery)or die(mysql_error());
       }
      }
     }
     function 
    close() {
      
    mysql_close($this->link_id);
     }


  • #2
    Schau dir dieMySQL Funktionen an, lese die Beschreibung, und versuche die wichtigsten Befehle einzubinden.

    Desweiteren hast du einige Funktionen sehr umständlich gemacht, ich würde dir empfehlen, dass man deine Funktionen genau so wie die normale MySQL Funktion benutzen kann..

    Außerdem fehlt noch eine richtige Fehlerbehandlung + Debug)
    PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

    Kommentar


    • #3
      Danke für Deine Antwort.
      Ich habe mir schon ein paar Mysql Klassen angeschaut, allerdings verstehe ich nicht so ganz was da passiert. Wie gesagt diese Art der Datenbank nutzung ist mir neu. Muß mich da wohl noch nen bisschen reinlesen.

      Kommentar


      • #4
        wenn du den normalen Umgang mit den mysql-funktionen beherrschst, wirst du dich schnell mit der klasse anfreunden können. ein paar klassen-grundlagen (s. Manual) können dabei natürlich nicht schaden...

        Kommentar

        Lädt...
        X