Ankündigung

Einklappen
Keine Ankündigung bisher.

mysql_real_escape_string - Fehler

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • mysql_real_escape_string - Fehler

    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
    PHP-Noob (?) _AT_ work
Lädt...
X