PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : OOP und MySQL


laskd
27.07.2003, 16:00:29
ich bin sozusagen an meine ersten Projekt mit PHP bei dem ich eine objektorientierte Programmierung einsetze.

Ich habe das problem dass mir folgende Fehlermeldung erscheint:
Parse error: parse error, unexpected T_OBJECT_OPERATOR, expecting ',' or ';' in C:wampp2chtdocsVersion2classes.php on line 41

die Situation ist folgende. ich habe eine Klasse db_conn mit einer methode connection()

class db_conn // Diese Klasse erzeugt eine Verbindung zur DB
{

function db_conn() //Konstruktor für die Klasse db_conn
{
//$db=" ";
$dbname="pfadi-kroenten";
$dbhost="localhost";
$dbuser="root";
$dbpass="xxx";
/* mysql_connect($this->dbhost, $this->dbuser, $this->dbpass);
mysql_select_db($this->dbname);
*/
}

function connection()
{
mysql_connect($this->dbhost, $this->dbuser, $this->dbpass) or die ("Keine Verbindung zum Datenbankserver möglich");
mysql_select_db($this->dbname) or die ("Keine Verbindung zur Datenbank möglich");
}
}

zusätzlich habe ich noch eine klasse news mit einer methode show_news()
class news //Klasse für das Anzeigen der News
{
function news() //Konstruktor für die Newsklasse
{
$newstable = "hp_news";
$db = new db_conn;
$db->connection();
}

function show_news()//Anzeigen der News
{
$query = "SELECT * FROM $this->newstable";
echo this->query;
$result = mysql_query($this->query);
//echo $this->result;
while($line = mysql_fetch_row($this->result))
{
//echo "<br>Datum: $this->line[datum] <br> Titel: $this->line[titel] <br> Text: $this->line[text] <br> Autor: <br> $this->line[autor]";
echo "<br>Datum: $this->line[0] <br> Titel: $this->line[1] <br> Text: $this->line[2] <br> Autor: <br> $this->line[3]";
}
mysql_free_result($this->result);
mysql_close();
}//end function

function insert_news()//Eintragen neuer News
{
if($HTTP_POST_VARS[okbutton]="OK")
{
$datum=$http_POST_VARS[datum];
$titel=$http_POST_VARS[titel];
$text=$http_POST_VARS[text];
$autor=$http_POST_VARS[autor];
mysql_query("INSERT INTO $this->newstable (datum,titel,text,autor)VALUES('$this->datum','$this->titel','$this->text','$this->autor')");
mysql_close();
}
}

}
Die obige fehlermeldung erscheint, wenn ich auf die methode show_news zugreifen will.
Kann mir jemand helfen?

|Coding
27.07.2003, 16:17:49
ändere in der show_news class doch mal das:

if($HTTP_POST_VARS[okbutton]="OK")

in das:

if($HTTP_POST_VARS[okbutton]=="OK")

laskd
27.07.2003, 16:28:56
ja danke, kleiner flüchtigkeitsfehler. aber eben, damit hat sich mein hauptproblem immer noch nicht derledigt.

denn ohne oop funktioniert der code nämlich einwandfrei, ich denke es muss was damit zu tun haben wie ich von der klasse news auf die klasse db_conn zugreiffe.

MiH
29.07.2003, 10:48:46
$db = new db_conn;
wo steht db_conn ?

schau mal hier:
http://www.selfphp.info/forum/showthread.php?s=&threadid=4850

vielleicht hilft es.

laskd
29.07.2003, 12:01:42
Danke, könnte mir evtl helfen. Werde am abend mal schauen, ob ich da was fertigbringe