kostenloser Webspace werbefrei: lima-city


MySQL in einer Klasse

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    s******i

    Hallo,
    ich möchte nun etwas tag/objekt">objektorientierter Programmieren und habe mit gedacht eine Klasse für Abfragen und etc. zu schreiben.

    OK, jetzt bin ich schon s weot, jedoch kann ich keine objekte (mysql_fetch_object) einfangen!
    Hier der Code:
    <?php
    class mysql
    {
    	<?php
    class MySQL {
      private $connection = NULL;
      private $result = NULL;
      private $counter=NULL;
     
     
      public function __construct($host=NULL, $database=NULL, $user=NULL, $pass=NULL){
    	$this->connection = mysql_connect($host,$user,$pass,TRUE);
      	mysql_select_db($database, $this->connection);
      }
      
      public function query($query) {
      	$this->result=mysql_query($query,$this->connection);
      	$this->counter=NULL;
      }
     
      public function Rows() {
      	return mysql_fetch_object($this->result);
      }
     
      public function count() {
      	if($this->counter==NULL && is_resource($this->result)) {
      		$this->counter=mysql_num_rows($this->result);
      	}
     
    	return $this->counter;
      }
    }
    
    
    
    $class = new MySQL("mysql.lima-city.de", "db_185443_1", "USER185443", "<passwort zensiert by karpfen>");
    
    $class->query("SELECT * FROM wp_posts");
    while ($row == $class->Rows())
    {
    	echo $row->ID;
    } 
    
    echo $class->count();
    ?>




    Beitrag zuletzt geändert: 26.9.2010 19:42:28 von karpfen
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. wanderwegfurth

    wanderwegfurth hat kostenlosen Webspace.

    Ich empfehle dir, die MySQLi-extention zu verwenden, mit der kann man standardmäßig objektorientiert programmieren. Hier findest du das im PHP-Manual: http://php.net/manual/de/book.mysqli.php
  4. Ich weiß nicht genau wodurch sich der Fehler äußert aber auf den ersten Blick fällt mir auf, dass die Variable $row nirgends initialisiert wird, dann aber in der while Schleife immer mit $class->Rows() verglichen wird.
    Ich vermute mal, dass es sich um einen Tippfehler handelt und du eigentlich eine Zuweisung statt eines Vergleiches machen wolltest.
  5. Autor dieses Themas

    s******i

    Ich vermute mal, dass es sich um einen Tippfehler handelt und du eigentlich eine Zuweisung statt eines Vergleiches machen wolltest.


    Stimmt genau...
    Jetzt geht's...!

    Danke.

    @wanderwegfurth
    auch dir ein Danke...:) Scheint eine echt gute Erweiterung zu sein. Werde mich in den nächsten Tagen damit vielleicht ein wenig beschäftigen...
  6. Wenn du nicht immer von Hand Programmieren willst schau dir mal Frameworks wie ZendFramework oder Codeignitor an :wink:

    Ansonsten kann ich dir empfehlen in deiner Klasse gleich noch ein paar Methoden zur validierung der Statements einzubauen stripslashes() usw. die Klasse frisst nämlich so im Moment jede Injection wenn du das nicht vorher jedesmal in den Skripten zurechtbiegst, ansonsten aber "good work" :thumb:

    Beitrag zuletzt geändert: 5.10.2010 14:02:26 von makeup
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!