Announcement

Collapse
No announcement yet.

Fatal error: Using $this when not in object context

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Fatal error: Using $this when not in object context

    Hi,

    ich habe nicht viel mit PHP zu tun...,
    aber ein Problem auf einer Seite

    Fatal error: Using $this when not in object context in /kunden/..../lexconfig/config.php on line 6


    Das ist die config.php,
    und line 6 ist: $this->dbHost = "xxx";


    Code:
    <?
    //Datenbank/MySQL Host
    function connect()
    {
    		
    		$this->dbHost = "xxx";
    
    		//Datenbankname
    		$this->dbName = "xxx";
    
    		//Berechtigter User
    		$this->dbUser = "xxx";
    
    		//Dazugehöriges Passwort
    		$this->dbPass = "xxx";
    		
    		$this->dbLink = mysql_connect($this->dbHost,$this->dbUser,$this->dbPass);
    		mysql_select_db($this->dbName,$this->dbLink);
    		echo "DEBUG: Connected";
    		return $this->dbLink;
    }

    ich habe keine Ahnung warum diese Meldung kommt...
    wäre für jeden Tipp dankbar!!!


    Gruß
    Rayman

  • #2
    falls mal noch jemand ein ähnlich Problem hat,
    kann er das ausprobieren (bei mir funktionierts):


    Code:
    <?
    //Datenbank/MySQL Host
    function connect()
    {
    		
    		$dbHost = "xxx";
    
    		//Datenbankname
    		$dbName = "xxx";
    
    		//Berechtigter User
    		$dbUser = "xxx";
    
    		//Dazugehöriges Passwort
    		$dbPass = "xxx";
    		
    		$dbLink = mysql_connect($dbHost,$dbUser,$dbPass);
    		mysql_select_db($dbName,$dbLink);
    		echo "DEBUG: Connected";
    		return $dbLink;
    
    }

    Comment


    • #3
      $this funktioniert halt nur, wenn du dich in einer Klasse befindest. Du hast wahrscheinlich die Funktion einfach per include in z.B. die index.php eingebunden. Dann ist $this hier falsch am Platz.
      Deine Lösung in Post 2 ist richtig; da arbeitest du mit "Standard Variablen" d.h. ohne $this

      edit:
      um den Error verständlicher zu machen:
      hier: Klasse == object
      viele Grüße,
      Daniel

      Comment


      • #4
        zur verdeutlichung:


        Einleitende Datei (zb index.php):

        PHP Code:
        <?php

        // Includen der Klasse
        require(class.inc.php);

        // Neues Object der Klasse erzeugen und in "$object_name" übergeben
        $object_name = new KlassenName();

        // Interner Bezug auf eine Variable der Klasse
        // ab hier gilt nicht $this sondern der Variabel Name

        echo $object_name->variable;
        grüße marco
        In personal conversations with technical people, I call myself a hacker.
        But when I'm talking to journalists I just say "programmer" or something like that....

        Comment

        Working...
        X