Hi,
Schon der Konsistenz wegen (es ist eine von der MySQL-API bereitgestellte Hilfsfunktion, die für Funktionen der MySQL-API verwendet werden soll) sollte man mysql_real_escape_string() den Vorzug geben.
*Gerade* *weil* die API diese Funktion bereitstellt.
Technisch gesehen ist der Unterschied zwischen mysql_real_escape_string() und addslashes() im Grunde genommen jedoch nur kosmetischer Natur ((Strictly speaking, ...). Die zusätzlich von mysql_real_escape_string() behandelten Zeichen haben keine Auswirkungen auf die Sicherheit von (My)SQL-Statements.
Momentan, ja.
Wenn sich diesbezüglich (welche Zeichen Sonderbedeutung haben) seitens MySQL aber irgendwann mal etwas ändern sollte* - dann darf von der von der API bereitgestellten Funktion erwartet werden, dass sie dies auch berücksichtigt.
Von einer vollkommen themenfremden Funktion, die *momentan* *zufälligerweise* ein der Aufgabe hinreichend genügendes Ergebnis liefert, aber deshalb noch lange nicht.
* auch wenn unwahrscheinlich, zumindest denkbar.
MfG ChrisB
“Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]