Variabeln aus includierter Datei annehmen.

Voltex

Mitglied
Hallo Community,
Ich habe folgendes Problem:

Bei meinem Loginscript habe ich bisher die Datenbank immer auf diese Weise angegeben:

PHP:
<?php

class MySQLDatabaseConnector implements IDatabaseConnector
{
	/**
	 * Oeffnet eine Datenbankverbindung zu einer MySQL Datenbank.
	 */
	public function openConnection()
	{
	
		if(@mysql_connect("localhost", "root", "", false) === false)
		{
			throw new Exception("Could not open database connection");
		}
		else
		{
			if(@mysql_select_db("mycom") === false)
			{
				throw new Exception("Could not select database");
			}
		}
	}
	
	/**
	 * Schliesst eine Datenbankverbindung zu einer MySQL Datenbank.
	 */
	public function closeConnection()
	{
		@mysql_close();
	}
}
?>

Nun, das hat mir nicht so ganz zugesagt weil ich die Datenbankeigentschaften an 3 verschiedenen Stellen ändern musste, sobald sich die Datenbank geändert habe. Ich wollte es also auf folgende Art und Weise lösen:

PHP:
<?php

include ("../../system/configuration.php");

class MySQLDatabaseConnector implements IDatabaseConnector
{
	/**
	 * Oeffnet eine Datenbankverbindung zu einer MySQL Datenbank.
	 */
	public function openConnection()
	{
	
		if(@mysql_connect($host, $user, $pass, false) === false)
		{
			throw new Exception("Could not open database connection");
		}
		else
		{
			if(@mysql_select_db($db) === false)
			{
				throw new Exception("Could not select database");
			}
		}
	}
	
	/**
	 * Schliesst eine Datenbankverbindung zu einer MySQL Datenbank.
	 */
	public function closeConnection()
	{
		@mysql_close();
	}
}
?>

Zum Nachsehen die configuration.php
PHP:
<?php

    $host = "localhost"; // Adresse des Datenbankservers, meistens localhost
    $user = "root"; // Ihr MySQL Benutzername
    $pass = ""; // Ihr MySQL Passwort
    $db = "mycom"; // Name der Datenbank

?>

Leider klappt das nicht so wie ich es mir vorgestellt habe. Das heisst sobald ich es auf die angedachte Weise ausprobiere, werde ich nicht mehr eingeloggt. Fehlermeldungen werden keine gegeben. Auch wenn ich versuche Ausrufungszeichen um die Variabeln zu machen ( z.B.: "$db" ) funktiuniert es nicht.

Ich hoffe ihr könnt mir helfen, denn ich bin ziemlich am Ende,

vielen Dank,
Voltex
 
Moin,

wenn du das include() in der Funktion notierst, in der du die Variablen benötigst, wird es funktionieren.
Ansonsten müsstest du die Variablen in dieser Funktion erst per [phpf]global[/phpf] bekannt machen, wie sonst auch, wenn man auf globale Variablen in Funktionen zugreifen will.
 
Also mit dem innerhalb der funktion includieren hats nicht geklappt. Aber das via global bekannt machen hat geholfen. Anfängerfehler, sorry. Manchmal sieht man halt den Wald vor lauter Bäumen nicht.

Danke dir ;)
 
Zurück