Mysql Klasse will nicht so recht.

Nerolein

Mitglied
Hallo,
ich bin momentan dabei mir OOP Programmierung beizubringen und wollte es anhand einer Mysql Klasse testen.
Doch PHP Spuckt mir nur Fehlermeldungen aus und ich kann kein Fehler erkennen.

Code:
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /projekt/engine/mysql.class.php on line 39
ErrorBeschreibung: Can not Query: SELECT * FROM phpbb_ranks

Mein Rank Id:
PHP:
<?php

require_once("engine/mysql.class.php");

$db = new mysqlConnect();
$db->query("SELECT * FROM phpbb_ranks LIMIT 0, 30");
$row->fetch_object($query);

return $row->rank_id;

?>

Meine Mysql Klasse:
PHP:
<?php

	class mysqlConnect
	{
		var $host = "localhost";
		var $usr = "****";
		var $password = "****";
		var $db = "*****";
		var $display_errors = 1;
		var $connection;
		var $query;
		var $result;
		var $desc;
		
		function connect($host, $usr, $password) 
		{
			$this->connection = mysql_connect($host, $usr, $password);
			
			if($this->connection)
			{
				$this->select_db($db);
			}
			else
			{
				$this->display_err(2, "Can't connect to the Mysql Server", mysql_errno(), mysql_error());
			}
		}
		
		function select_db($db)
		{
			if(!mysql_select_db($db, $this->connection))
			{
				$this->display_err(2, "Can not select ".$db, mysql_errno($this->connection), mysql_error($this->connection));
			}
		}
		
		function query($squery, $get = 0)
		{
			if(!$this->query = mysql_query($squery,$this->connect))
			{
				$this->display_err(2, "Can not Query: ".$squery, mysql_errno(), mysql_error());
			}
			else
			{
				if($get ==1)
				{
				
					return $this->query;
				}
			}
		}
		
		function fetch_object($query = 0)
		{
			if($query == 0)
			{
				if($this->result = mysql_fetch_object($this->query))
				{
					return $this->result;
				}
			}
			else
			{
				if($this->result = mysql_fetch_object($query))
				{
					return $this->result;
				}
			}
		}
		
		function display_err($mode, $desc, $errno, $error)
		{
			switch($mode)
			{
				case 1:
					$mod = "Leichter Fehler";
				case 2:
					$mod = "Kritischer Fehler";
				default:
					$mod = "Error";
			}
			
			if($this->display_errors == 1)
			{
				$err_msg = $mod;
				$err_msg .= "Beschreibung: <b>" .$desc. "</b><br>";
				$err_msg .= "Mysql Error Nummer: <b>".$errno."</b><br>";
				$err_msg .= "Mysql Error: <b>".$error."</b><br>";
				$err_msg .= "Zeit: <b>".date("d.m.y :: H:i:s")."</b><br>";
				$err_msg .= "<b>Besteht dieser Fehler weiterhin, kontaktieren sie bitte unser Support Team.</b><br>";
				die($err_msg);
			}
		}
	
	}
?>
 
Oh okay danke.

Hab dies nun gemacht aber nun kommt nurnoch eine leere Seite ohne Fehlermeldung.
Warum muss man eigendlich connect() nochmal benutzen wenn es schon im mysql_query stand?

PHP:
$db = new mysqlConnect();
$db->connect(localhost,***,***,***);
$db->query("SELECT * FROM phpbb_ranks");
$row = $db->fetch_object();

return $row->rank_title;
 
Zuletzt bearbeitet:
Hab dies nun gemacht aber nun kommt nurnoch eine leere Seite ohne Fehlermeldung.
PHP:
$db = new mysqlConnect();
$db->connect(localhost,***,***,***);
$db->query("SELECT * FROM phpbb_ranks");
$row = $db->fetch_object();

return $row->rank_title;

...was sonst sollte auch kommen, du erzeugst ja keine Ausgabe.

Warum muss man eigendlich connect() nochmal benutzen wenn es schon im mysql_query stand?
Wo stand es dort?
 
Meiner Meinung nach steht es in der mysql_query drin :)

PHP:
if(!$this->query = mysql_query($squery,$this->connection))


Aber danke geht nun soweit alles.
 
Ich hatte es auch mal mit
PHP:
if(!$this->query = mysql_query($squery,$this->connect))

ausprobiert.
Normalerweise sollte er ja die funktion aufrufen, aber kommt dann 3 mal der Fehler:

Code:
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /projekt/engine/mysql.class.php on line 39

mit $db->connect() funktioniert es einwandfrei.
 
Zurück