dumpfbacke 0 Report post Posted January 27, 2004 Hallo, Es handelt sich hierbei um eine Toplist. Wenn ich sie auf meinem Webspace packe und sie ganz normal aufrufe kommt diese Fehlermeldung: Error No Database Selected From /var/www/html/mysql.php line 70 Es gibt keine Beschreibung dazu. Im Ordner Admin ist eine setup.php doch wenn ich diese aufrufe kommt dieser Fehler: Error Access denied for user: 'root@webspace.de' (Using password: NO) From var/www/html/toplist/mysql.php line 37 Also gehe ich davon aus das die einträge in der mysql.php die im Hauptverzeichniss liegt fehlen. Doch wenn ich sie dort eintrage geht es auch nicht. Deswegen hier mal die mysql.php datei. <?PHP class DB { var $dbh; var $host; var $user; var $pass; var $persist; var $connected; var $database; function DB($host, $user, $pass, $persist = FALSE) { $this->dbh = 0; $this->connected = FALSE; $this->host = $host; $this->pass = $pass; $this->user = $user; $this->persist = $persist; $this->database = NULL; } function Connect() { if( !$this->connected ) { if( $this->persist ) { $this->dbh = mysql_pconnect($this->host, $this->user, $this->pass); } else { $this->dbh = mysql_connect($this->host, $this->user, $this->pass); } $this->connected = TRUE; } } function IsConnected() { return $this->connected; } function Disconnect() { if( $this->connected ) { mysql_close($this->dbh); $this->connected = FALSE; } } function SelectDB($database) { $this->database = $database; if( !mysql_select_db($this->database, $this->dbh) ) { trigger_error(mysql_error(), E_USER_ERROR); } } function Row($query) { $res = mysql_query($query, $this->dbh); if( !$res ) { trigger_error(mysql_error() . "<br><br><b>Query:</b><br>$query", E_USER_ERROR); } $row = mysql_fetch_array($res, MYSQL_ASSOC); mysql_free_result($res); return $row; } function Count($query) { $res = mysql_query($query, $this->dbh); if( !$res ) { trigger_error(mysql_error() . "<br><br><b>Query:</b><br>$query", E_USER_ERROR); } $row = mysql_fetch_row($res); mysql_free_result($res); return $row[0]; } function Query($query) { $res = mysql_query($query, $this->dbh); if( !$res ) { trigger_error(mysql_error() . "<br><br><b>Query:</b><br>$query", E_USER_ERROR); } return $res; } function Insert($query) { $res = mysql_query($query, $this->dbh); if( !$res ) { trigger_error(mysql_error() . "<br><br><b>Query:</b><br>$query", E_USER_ERROR); } } function Create($query) { $this->Insert($query); } function Update($query) { $this->Insert($query); } function BigTables() { $this->Insert('SET OPTION SQL_BIG_TABLES=1'); } function Free($res) { mysql_free_result($res); return; } function InsertID() { $id = mysql_insert_id($this->dbh); return $id; } function Rows($res) { return mysql_num_rows($res); } function NextRow($res) { return mysql_fetch_array($res, MYSQL_ASSOC); } function Seek($res, $where) { mysql_data_seek($res, $where); } function GetTables() { $tables = array(); $res = mysql_list_tables($this->database); for( $i = 0; $i < mysql_num_rows($res); $i++ ) { $tables[mysql_tablename($res, $i)] = 1; } mysql_free_result($res); return $tables; } } ?> Wo muss ich meine daten der Datenbank eintragen ich dachte eigentlich hier: var $dbh; var $host; var $user; var $pass; var $persist; var $connected; var $database; MFG. Share this post Link to post
Stefan 0 Report post Posted January 27, 2004 Nein, du muß den Konstruktor der Klasse mit Parameter aufrufen. $db = new DB("localhost", "Benutzer", "Passwort"); Share this post Link to post
dumpfbacke 0 Report post Posted January 27, 2004 (edited) Konstruktor ?? nun bin ich ganz durcheinander Soll ich in der Datenbank diese Zeile eingeben und eine neue Tabelle anlegen oder in dieser Zeile editieren : function DB($host, $user, $pass, $persist = FALSE) MFG. Edited January 27, 2004 by dumpfbacke Share this post Link to post
Stefan 0 Report post Posted January 27, 2004 Ich seh nur die DB Klasse, die du angegeben hast und diese wird aufgerufen, indem man den Konstruktor mit Parameter füttert. Nebenbei, der Konstruktur ist die Funktion, die aufgerufen wird, wenn man eine Instanz der Klasse erstellt. Diese heißt wie der Klassenname. Beispiel: Aufruf ohne Parameter Instanz = new Klasse; Aufruf mit Parameter Instanz = new Kkasse(Parameter); Bevor ich aber tiefer in die OOP gehe, wie wäre es, wenn du mal einen Link zu der Topliste gibst. ;) Share this post Link to post