Trotz richtiger Config keine Mysql verbindung

Nabend,

Ich habe ein Anmeldescript, dass prüft den Benutzername und Email adresse, das prüfen der Mailadresse geht fehlerfrei. Aber wenn ich den Namen prüfen will kommt die Meldung:

[code]Warning: mysql_query() [function.mysql-query]: Access denied for user ‘www-data’@‘localhost’ (using password: NO) in /users/nerosmeel/www/bg/libs/class.MySQL.php on line 43

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /users/nerosmeel/www/bg/libs/class.MySQL.php on line 43
Access denied for user ‘www-data’@‘localhost’ (using password: NO)[/code]

Ich weiß das heißt das der keine Verbindung zur DB aufbauen kann, nur warum geht das bei der mail überprüfung?

die class.MySQL.php

[code]<?php

class MySQL{
    private $con;
    private $result;

    public function __construct ($host, $user, $password, $database){
        $this -> con = mysql_connect ($host,$user,$password) or die (mysql_error());
        if (is_resource ($this -> con)){
            mysql_select_db ($database) or die (mysql_error());
        }
    }

    public function __destruct (){
        if (is_resource ($this -> con))
        {
            mysql_close ($this -> con);
        }
    }

    protected function doQuery ($query){
        if ($this -> result = mysql_query ($query))
        {                
            $aff_rows = mysql_affected_rows();
            if ($aff_rows)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        else
        {
            die (mysql_error());
        }            
    }

    protected function doSelect($query)
    {
    	
        if ($this -> result = mysql_query ($query)) // Zeile 43
        {
            $output = array();
            while ($row = mysql_fetch_assoc ($this -> result))
            {
                $output[] = $row;                    
            }
            if (count ($output) > 0)
            {
                return $output;
            }
            else
            {
                return false;                    
            }
        }
        else
        {
            die (mysql_error());
        }
    }
}

?>
[/code]

die RegistCommand.php

[code]<?php

class RegistCommand implements Command {

private $reg;

public function __construct()
{
	$this->reg = Registry::getInstance();



}

public function execute(Request $request, Response $response)
{
	$error = null;
	$smarty = $this->reg['smarty'];

	if($request->issetParameter("step")){

		$this->error .= $this->stepOne($request);
		if($this->error != null){
			$smarty->assign("errorcont",$this->error);
		}
		$smarty->assign("name",$request->getParameter("name"));
		$smarty->assign("passworda",$request->getParameter("passworda"));
		$smarty->assign("passwordb",$request->getParameter("passwordb"));
		$smarty->assign("step",1);
	}else{
		$smarty->assign("error",0);
		$smarty->assign("step",1);
	}




	$response->write($smarty->fetch('reg.tpl'));

}

private function stepOne(Request $request){
	$name = $request->getParameter("name");
	$passworda = $request->getParameter("passworda");
	$passwordb = $request->getParameter("passwordb");
	$emaila = $request->getParameter("emaila");
	$emailb = $request->getParameter("emailb");
	if( $name == ""){
		$error .= "kein name<br>";
	}else {
		if(!is_numeric($name)){
			if(strlen($name) < 4){
				$error .= "Name zu kurz<br>";
			}
			if(strlen($name) > 30){
				$error .= "Name zu lang<br>";
			}else{

// Nutzer Überprüfung in Datenbank
$db = new AbstractSQL($this->reg[“config”][“DB_HOST”],$this->reg[“config”][“DB_USER”],$this->reg[“config”][“DB_PASS”],$this->reg[“config”][“DB_NAME”]);
$query = sprintf(“SELECT name FROM player WHERE name = ‘%s’”,$name);

				$res = $db -> checkQuery ($query);
			
				if($res[0]["name"] == $name){
					$error .= "Name schon benutzt<br>";
				}
			}
		}else{
			$error .= "Name darf keine zahl sein<br>";
		}
	}

	if($passworda == ""){
		$error .= "kein Passwort eingeben<br>";

	}
	if($passwordb == ""){
		$error .= "keine Passwort wiederholung eingeben<br>";
	}
	if($passworda != $passwordb && $passworda != "" && $passwordb != "" ){
		$error .= "Die Passwörter sind nicht gleich<br>";
	}else{
		if(strlen($passworda) < 5 && $passworda != "" && $passwordb != ""){
			$error .= "Dein Passwort ist zu kurz<br>";
		}
	}

	if($emaila == ""){
		$error .= "Keine Email angegeben<br>";
	}
	if($emailb == ""){
		$error .= "Keine Email wiederholung eingegeben<br>";
	}
	if (eregi("^([a-z0-9_]|\-|\.)+@(([a-z0-9_]|\-)+\.)+[a-z]{2,4}\$",$emaila)!=1 && $emaila != "" && $emailb != "") {
		$error .= "Email adresse hat das falsche format";
	}else {

// Überprüfung der Email Adresse in der Datembank
$db = new AbstractSQL($this->reg[“config”][“DB_HOST”],$this->reg[“config”][“DB_USER”],$this->reg[“config”][“DB_PASS”],$this->reg[“config”][“DB_NAME”]);
$query = sprintf(“SELECT email FROM player WHERE email = ‘%s’”,$emaila);

				$res = $db -> checkQuery ($query);
		
				if($res[0]["email"] ){
					$error .= "Email adresse vergeben";
				}
	}
	return $error;
}
private function stepTwo(){

}
private function stepThree(){

}

}
?>
[/code]

Weiß hier evt. einer Rat?
Ich weiß nich mehr weiter :frowning:
Wenn ich Code vergessen habe sagt es dann poste ich denn.
gibts das Drama live…

mfg Nerosmeel

tut mir leid hier kann ichd ir nciht weiter helfen sehe kein fehler
kontrollier mal deine angaben zur verbindung nochmal

if(...) wird zum vergleichen gebraucht...
und das ('[b]=[/b]') ist sicher kein vergleichsoperator...
wennschon [b]==[/b]

mfg Joey

if(…) wird zum vergleichen gebraucht…
und das (’=’) ist sicher kein vergleichsoperator…
wennschon ==

mfg Joey

[quote=“bcg”] if ($this -> result = mysql_query ($query)) // Zeile 43
if(…) wird zum vergleichen gebraucht…
und das (’=’) ist sicher kein vergleichsoperator…
wennschon ==[/quote]
In dem Fall ist = aber korrekt.

stimmmt!

hab mir den code halt nur kurz angeschaut sry

mfg Joey

naja immerhin musste ich mir nicht anhören das ich zu blöd bin meine mysql daten richtig zu scheiben -.- DANKE :slight_smile: :slight_smile: :slight_smile: :slight_smile: :slight_smile:

hab das problem nicht gefunden und gehe jetzt einen anderen Weg, mit der mySQLi Klasse von PHP5.
mfg Nerosmel