Hallo, um SQL-Injections zuverhindern (bin mir nichtmal sicher ob das was bringt) nutze ich bevor ich die Variabelen in einem Query angebe die Funktion mysql_real_escape_string(). Also wird bei einem Login z.B. statt Schaelle --> "Schaelle" angegeben. Dadurch bekomm ich aber jetzt einen Fehler, bzw dadurch wird mein Ergebniss verfälscht, wen ich folgendes nehme bekomme ich unten stehnden Fehler:

Code:
	db();
	$name = addslashes(htmlspecialchars(trim(sqlSafeString($_POST['name']))));
	$password = md5($_POST['pw']);
	$password = addslashes(htmlspecialchars(trim(sqlSafeString($password))));
	$sql = "SELECT
		   $db[member].memberid,
		   $db[member].name,
		   $db[acces].isatrainer
		FROM
		   $db[member]
		INNER JOIN
		   $db[acces] on $db[acces].accessgroupid = $db[member].accessgroupid
		WHERE
		   $db[member].name = ".$name." AND $db[member].password = ".$password."";	
		
	$result = mysql_query($sql);
	print mysql_error();
	if(mysql_num_rows($result) < 1) {
		alert($alert['noadmin']);
	}
	else {
		print("OK");
	}
Wobei in der Funktion sqlSafeString() die Funktion mysql_real_escape_string () vorhanden ist.
Der Fehler ist dann: You have an error in your SQL syntax near '"Schaelle" AND vwarvwar_member.password = "33fa6014d6f1bbf246904f' at line 10.

Wen ich jetzt noch im Query die Variabelen in der Where Klausel in ' setze kommt zwar kein Fehler, aber das Ergebniss wird verfälscht und es findet nix.
Achja wenn ich die oben genannte Funktion weglasse funzt das Query. Nur ich will es halt sicherer machen.

Hoffe das Ihr mehr Ahnung davon habt als ich und den Fehler findet, würde mich sehr freuen

mfg