Özcan: Parse error

Hallo,
der eine Fehler ist behoben, kommt hleich der nächste:

Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}'
in /homepages/3/d288675836/htdocs/relaunch/inc/classes/DB/class.DBMySQL.php on line 16

hier die Datei:

<?php

/**
 * Abstraktionsschicht für die Datenbank (nutzt nur MySQL)
 *
 * Verbindet zur Datenbank und kapselt alle Anfragen an die
 * Datenbank....
 *
 */

class DB
{

//Datenbankverbindungsobjekt
(line 16->)    public $MySQLiObj = null;

//Letzte SQL-Abfrage
    public $lastSQLQuery = null;

//Status der letzten Anfrage
    public $lastSQLStatus = null;

/**
     * Verbindet zur Datenbank und gibt ggf. eine
     * Fehlermeldung zurück.
     *
     */
    public function __construct()
    {

//Erstellen eines MySQLi-Objektes
        $this->MySQLiObj = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME);

//Prüfen, ob ein Fehler aufgetreten ist.
        if (mysqli_connect_errno())
        {
            echo "Keine Verbindung zum MySQL-Server m&ouml;glich.";
            trigger_error("MySQL-Connection-Error", E_USER_ERROR);
            die();
        }

}

/**
     * Beendet die Verbindung zur Datenbank bei Beenden eines
     * Skriptes.
     *
     */
    public function __destruct()
    {
        $this->MySQLiObj->close();
    }

/**
     * Führt eine SQL-Anfrage durch.
     *
     * Der optionale Parameter bestimmt, ob das Ergebnis als
     * Array-Struktur zurückgegeben wird oder als normales MySQL-Resultset
     *
     * @param text Die SQL-Anfrage
     * @param boolean Parameter, ob ein Resultset oder ein Array zurückgegeben werden soll
     *
     * @return Array Gibt eine Ergebnismenge zurück
     */
    public function query($sqlQuery, $resultset = false)
    {
        //Letzte SQL-Abfrage aufzeichnen:
        $this->lastSQLQuery = $sqlQuery;

//Hier kann später die Protokoll-Methode doLog()
        //aktiviert werden
        //$this->doLog($sqlQuery);

$result = $this->MySQLiObj->query($sqlQuery);

//Das Ergebnis als MySQL-Result plain zurückgeben
        if ($resultset == true)
        {
            //Status setzen
            if ($result == false)
            {
                $this->lastSQLStatus = false;
            }
            else
            {
                $this->lastSQLStatus = true;
            }

return $result;
        }

$return = $this->makeArrayResult($result);

return $return;
    }

/**
     * Fehlermeldung der letzten Abfrage
     *
     * @return varchar Die letzte Fehlermeldung wird zurückgegeben
     */
    public function lastSQLError()
    {
        return $this->MySQLiObj->error;
    }

/**
     * Array-Struktur der Anfrage
     *
     * Lässt ein Ergebnis aussehen, wie das von DBX
     *
     * @param MySQLiObject Das Ergebnisobjekt einer MySQLi-Anfrage
     *
     * @param boolean/Array Gibt entweder true, false oder eine Ergebnismenge zurück
     */
    private function makeArrayResult($ResultObj)
    {

if ($ResultObj === false)
        {
            //Fehler trat auf (z.B. Primärschlüssel schon vorhanden)
            $this->lastSQLStatus = false;
            return false;

}
        else
            if ($ResultObj === true)
            {
                //UPDATE- INSERT etc. es wird nur TRUE zurückgegeben.
                $this->lastSQLStatus = true;
                return true;

}
            else
                if ($ResultObj->num_rows == 0)
                {
                    //Kein Ergebnis eines SELECT, SHOW, DESCRIBE oder EXPLAIN-Statements
                    $this->lastSQLStatus = true;
                    return array ();

}
                else
                {

$array = array ();

while ($line = $ResultObj->fetch_array(MYSQL_ASSOC))
                    {
                        //Alle Bezeichner in $line klein schreiben
                        array_push($array, $line);
                    }

//Status der Abfrage setzen
                    $this->lastSQLStatus = true;
                    //Das Array sieht nun genauso aus, wie das Ergebnis von dbx
                    return $array;
                }

}

/**
     * Maskiert einen Parameter für die Benutzung in einer SQL-Anfrage
     *
     * @param varchar Attributwert
     *
     * @return Gibt den übergebenen Wert maskiert zurück
     */
    public function escapeString($value)
    {

return $this->MySQLiObj->real_escape_string($value);

}

/**
     * Protokolliert alle Datenbankzugriffe
     *
     * @param text Eine SQL-Anfrage, die "gelogt" werden soll
     */
    private function doLog($sqlQuery)
    {

//Nur wenn kein SELECT
        $substr = substr($sqlQuery, 0, 6);

//Eintragen
        if ($substr != "SELECT")
        {

$sql = "INSERT INTO logging (sql,datum,name) VALUES ".
                   " ('".mysql_escape_string($sqlQuery)."',".
                   date("H:i   d.m.Y", time()).",'".
                   $_SESSION['name']."')";

//Eintragen
            $this->MySQLiObj->query($sql);
        }

}

}
?>

  1. Hallo,

    public var?

    Gruß

    jobo

    1. Danke für die Hilfe, aber gibt immernoch den selben Fehler aus

      1. Hi!

        Danke für die Hilfe, aber gibt immernoch den selben Fehler aus

        Kannst Du bitte mal Deine PHP-Version ermitteln, ich vermute, wie dedlfix wahrscheinlich auch, ein grundsätzliches Problem.

        off:PP

        --
        "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
        1. die server Version ist 4.4.9

          1. Hi!

            die server Version ist 4.4.9

            Die ist schlicht zu alt für die 5er OOP-Syntax von PHP. Empfehlung: Update auf Version 5. Der 4er Zweig von PHP ist sowieso offiziell tot.

            Lo!

            1. erklär das mal den Typen von 1und1. Kann ich das auch selber machen oder sind da nur die Leute von 1und1 dazu berechtigt

              1. Hi!

                erklär das mal den Typen von 1und1. Kann ich das auch selber machen oder sind da nur die Leute von 1und1 dazu berechtigt

                Bei 1und1 steht seit langem auch PHP5 zur Verfügung. Bitte informiere dich auf deren Supportseiten, wie du das umstellen kannst. Oder kostenpflichtig per Telefonsupport.

                Lo!

                1. Hab ich schon nachgefragt, ich soll eine .htaccess-Datei mit folgendem Inhalt hochladen:

                  AddType x-mapp-php5 .php
                  AddHandler x-mapp-php5 .php

                  Hab ich auch schon erledigt, aber kein Effekt bis jetzt.

                  1. Hi!

                    Hab ich schon nachgefragt, ich soll eine .htaccess-Datei mit folgendem Inhalt hochladen:
                    Hab ich auch schon erledigt, aber kein Effekt bis jetzt.

                    Dann wirst du dich wohl noch einmal an den Support wenden müssen. Ich kann derzeit keinen Fehler erkennen.

                    Lo!

                    1. mach ich dann mal.

                      Vielen Dank nochmal für deine Unterstützung!!!

                  2. Hi!

                    Hab ich schon nachgefragt, ich soll eine .htaccess-Datei mit folgendem Inhalt hochladen:

                    AddType x-mapp-php5 .php
                    AddHandler x-mapp-php5 .php

                    Welche PHP-Version hast Du nun, hast Du das geprüft?

                    Hab ich auch schon erledigt, aber kein Effekt bis jetzt.

                    Kein Effekt heißt genau was?

                    off:PP

                    --
                    "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
  2. Hi!

    Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}'
    in /homepages/3/d288675836/htdocs/relaunch/inc/classes/DB/class.DBMySQL.php on line 16

    Welche PHP-Version hast du?

    Lo!

  3. Hi,

    Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}'

    class DB
    {

    //Datenbankverbindungsobjekt
    (line 16->)    public $MySQLiObj = null;

    Welche PHP-Version setzt du denn ein - aber schon eine 5er, oder?

    MfG ChrisB

    --
    Light travels faster than sound - that's why most people appear bright until you hear them speak.
    1. Hi!

      Welche PHP-Version setzt du denn ein - aber schon eine 5er, oder?

      Glaube ich nicht wirklich, deshalb ja auch die Frage...

      off:PP

      --
      "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)