mysql_connect() in funktion geht nicht

Jukkales

Erfahrenes Mitglied
Hallo,

Ich bin dabei eine Homepage mit MySQL sachen zu verbinden und habe mir dazu mehere Funktionen gechreiben. die ich in einer IncludeDatei stehen habe. Nun habe ich das Problem, in den Funktionen wird auf einen anderen MySQL Server verbunden (Ja ich habe an die Rechte gedacht).
Wenn ich das mysql conenct udn die Funktion direkt in die index Datei schreibe geht es, mache ich es über eine Funktion will PHP komischerweise imemr auf localhost verbinden.

index.php
PHP:
<?
require 'config.inc.php';
if(isset($_GET['connect'])) $link = ConnectToSQLServer();
?>

... weitere funktionen die eine verbindung brauchen

config
PHP:
<?
$host = "xx.xx.xx.xx";
$user = "username";
$pass = "password"
$db = "datenbank";

function ConnectToMySQLServer() { 
	$conn = mysql_pconnect($host,$user,$pass); 
	if(!$conn) { 
		return 0; 
	} else { 
		$dbs = mysql_select_db($db,$conn); 
		if (!$dbs) { 
			return 0; 
		} else { 
			return $conn; 
		} 
	} 
}

Nun meckert PHP immer:
Warning: mysql_pconnect(): Benutzer 'www-data'@'localhost' hat keine Zugriffsberechtigung (verwendetes Passwort: Nein)

Ich verbinde aber garnicht auf localhost sondern auf einen ganz anderen Server, und wie gesagt der Fehler komtm nur in funktionen.

Kann mir da wer helfen?
 
Es liegt daran, dass deine Funktion nicht auf die Variablen zugreifen kann.

Probier es mal so:
PHP:
<?
$host = "xx.xx.xx.xx";
$user = "username";
$pass = "password"
$db = "datenbank";

function ConnectToMySQLServer() { 
    global $host, $user, $pass, $db;
    $conn = mysql_pconnect($host,$user,$pass); 
    if(!$conn) { 
        return 0; 
    } else { 
        $dbs = mysql_select_db($db,$conn); 
        if (!$dbs) { 
            return 0; 
        } else { 
            return $conn; 
        } 
    } 
} 
?>
 
Zurück