Fehler: unexpected T_STRING...

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
killerbees19
Mitglied
Beiträge: 1185
Registriert: 09.05.2006 17:33
Wohnort: Wien (Österreich)
Kontaktdaten:

Beitrag von killerbees19 »

Hallo, ich bin mir nicht sicher ob ich das selbe Problem habe.
Ich habe ein fertiges Script für den Datenbank Zugriff von www.brain-and-trust.de runter geladen.
Leider meckert PHP immer:
Parse error: syntax error, unexpected ')', expecting '(' in /www/******/cl_db_mysql.php on line 27
Ich habe schon PUPLIC mit VAR und so ausgetauscht, da ich PHP4 verwenden, verstehe aber nicht, was es an dieser Stelle für ein Problem gibt.

Hier mal ein Auszug:
cl_db_mysql.php

Code: Alles auswählen

<?php
class db_mysql
{
/*
PROTECTED $db_user;
PROTECTED $db_pass;
PROTECTED $db_server;
PROTECTED $insert_id;
PROTECTED $affected_rows;
PROTECTED $num_rows;
PROTECTED STATIC $con;
PROTECTED STATIC $queries;
PROTECTED STATIC $verbindungen;
PUBLIC function __construct($datenbank)
*/
VAR $db_user;
VAR $db_pass;
VAR $db_server;
VAR $insert_id;
VAR $affected_rows;
VAR $num_rows;
VAR $con;
VAR $queries;
VAR $verbindungen;
function __construct($datenbank)
{
if(!is_resource(self::$con))
  {
  self::$con = mysql_connect
        ($this->db_server,$this->db_user,$this->db_pass);
  ++self::$verbindungen;
  }
  mysql_select_db($datenbank, self::$con)
  OR die('Fehler beim Verbinden zur Datenbank');
}
In Kommentaren die PHP5 Version.

cl_db.php

Code: Alles auswählen

<?php
class db extends db_mysql
{
/*
PROTECTED $db_user    ='username';
PROTECTED $db_pass    ='kennwort';
PROTECTED $db_server  ='localhost';
PUBLIC function __construct($datenbank = 'PHP_Buch')
*/
VAR $db_user    ='*****';
VAR $db_pass    ='******';
VAR $db_server  ='localhost';
function __construct($datenbank = '*****')
{
parent::__construct($datenbank);
}
}
?>
Vielleicht kann mir jemand helfen.


MfG Christian
» Real programmers don't comment. If it was hard to write, it should be hard to understand!
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

Bist du sicher, dass du dieses Script unter PHP4 nutzen willst? Gibt es nicht irgendwelche Möglichkeiten, auf PHP5 upzudaten? Gibt es alternative (PHP4-kompatible) Scripts?
Wenn nein, dann wird das schon ein bisschen Arbeit werden, kommt drauf an, wie groß die Datei ist. Imho ist es auch idiotisch, eine PHP5-Klasse in eine PHP4-Umgebung zu zwängen, denn die Klassen in PHP5 haben gegenüber den "alten" aus PHP4 nur Vorteile (Stichwort OOP).

Zu deinem speziellen Problem:

Code: Alles auswählen

function __construct($datenbank)
Das bringt dir bei PHP4 nichts, da müsste das so aussehen:

Code: Alles auswählen

function db_mysql($datenbank)
Genau das gleiche bei dem:

Code: Alles auswählen

self::$con
[...]
self::$verbindungen
Die PHP4-Version:

Code: Alles auswählen

$this->con
[...]
$this->verbindungen
usw.
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Benutzeravatar
killerbees19
Mitglied
Beiträge: 1185
Registriert: 09.05.2006 17:33
Wohnort: Wien (Österreich)
Kontaktdaten:

Beitrag von killerbees19 »

Es gäbe schon eine Möglichkeit, den Server auf PHP5 upzudaten.
Nur bin ich noch am überlegen, ob sich das wirklich bringt.

Das Script ist zum Glück nur ungefähr 70 Zeilen lang, sollte zum umschreiben also gehen.

Danke einmal für deine Hilfe.
Das mit der funktion, mit dem Namen habe ich in der nacht noch in Google gefunden, nun hast du es mir ja bestätigt. Das mit den Doppelpunkten habe ich nicht gewusst, vielen Dank für den Hinweis.

ich werde es mal versuchen, ob es jetzt dann geht. Und ich werde mir einen Umstieg auch überlegen. ich muss erst nochmals schauen, was wirklich die Unterschiede sind, nicht dass am Ende ein Script plötzlich nicht mehr geht. :lol:

[EDIT]:
Nun stehe ich noch vor einem anderen Problem.
Alles andere habe ich geändert:

Code: Alles auswählen

Fatal error: Call to a member function on a non-object in ****
Dort steht: parent->db($datenbank);
Wie muss ich das umschreiben? Ich habe dazu nichts gefunden....


MfG Christian
» Real programmers don't comment. If it was hard to write, it should be hard to understand!
Benutzeravatar
Banger
Ehemaliges Teammitglied
Beiträge: 375
Registriert: 03.05.2005 21:53
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von Banger »

killerbees19 hat geschrieben:EDort steht: parent->db($datenbank);
Wie muss ich das umschreiben?
in parent::db($datenbank);
killerbees19 hat geschrieben:Ich habe dazu nichts gefunden....
PHP4: http://de.php.net/manual/de/language.oop.php
PHP5: http://de.php.net/manual/de/language.oop5.php
Benutzeravatar
killerbees19
Mitglied
Beiträge: 1185
Registriert: 09.05.2006 17:33
Wohnort: Wien (Österreich)
Kontaktdaten:

Beitrag von killerbees19 »

:grin: Danke Banger. Nun funktioniert es. Ob wirklich alle Funktionen der Klasse funktionieren, weiß ich noch nicht, aber nun weiß ich wie ich sie umschreiben muss.

Vielen Dank :wink:

MfG Christian
» Real programmers don't comment. If it was hard to write, it should be hard to understand!
Jensemann
Ehemaliges Teammitglied
Beiträge: 2549
Registriert: 25.02.2002 01:00

Beitrag von Jensemann »

killerbees19 hat geschrieben:Es gäbe schon eine Möglichkeit, den Server auf PHP5 upzudaten.
Nur bin ich noch am überlegen, ob sich das wirklich bringt.
Sofern alle deine Scripte mit PHP 5 funktionieren oder das portieren kein großer Aufwand ist, ist ein Update auf PHP 5 immer ratsam, schon allein aus Performance und Sicherheitsgründen.
Benutzeravatar
killerbees19
Mitglied
Beiträge: 1185
Registriert: 09.05.2006 17:33
Wohnort: Wien (Österreich)
Kontaktdaten:

Beitrag von killerbees19 »

Na wenn der Server-Admin das sagt, muss es wohl stimmen :grin:
Mein Hoster hat mir nur gesagt, dass es in der nacht maximal 4 Stunden dauert -> Kein Problem, Frontpage-Erweiterungen funktionieren dort auch nicht mehr -> Verwende ich sowieso nicht.
Und meine Scripte sollten alle PHP5 tauglich sein:
phpBB
Burningbook
Scripte von planetc
und eigene Entwicklungen die nur Befehle und Funktionen verwenden, die PHP4 und PHP5 tauglich sind.

Danke für deine Antwort. Werde wohl wirklich umsteigen :wink:


MfG Christian
» Real programmers don't comment. If it was hard to write, it should be hard to understand!
Antworten

Zurück zu „Coding & Technik“