azoo
Mitglied
Hallo Leute,
ich habe in einem third.Party Script, welches XML Daten anfordert, verarbeitet und in einer DB speichert, folgendes gesehen und nicht verstanden.
Der Inhalt der Variable $itemID mit var_dump gezeigt :
Zu einem späteren Zeitpunkt wird $itemId in eine mysql DB geschrieben, dazu wird die Variable mit mysql_real_escape_string bearbeitet und die Ausgabe via var_dump wäre:
Die Funktion escape_string scheint $itemId so zu bereinigen das sie nur noch den String 150777155801 enthält.
Warum ist das so und ist das eine gängige Verfahrensweise?
Die Doku zu mysql_real_escape_string ist nämlich folgende:
Gruß Markus
ich habe in einem third.Party Script, welches XML Daten anfordert, verarbeitet und in einer DB speichert, folgendes gesehen und nicht verstanden.
Der Inhalt der Variable $itemID mit var_dump gezeigt :
HTML:
object(SimpleXMLElement)#10 (1) {
[0]=>
string(12) "150777155801"
}
Zu einem späteren Zeitpunkt wird $itemId in eine mysql DB geschrieben, dazu wird die Variable mit mysql_real_escape_string bearbeitet und die Ausgabe via var_dump wäre:
HTML:
string(12) "150777155801"
Die Funktion escape_string scheint $itemId so zu bereinigen das sie nur noch den String 150777155801 enthält.
Warum ist das so und ist das eine gängige Verfahrensweise?
Die Doku zu mysql_real_escape_string ist nämlich folgende:
Maskiert spezielle Zeichen im unescaped_string unter Berücksichtigung des aktuellen Zeichensatzes der Verbindung, so dass das Ergebnis ohne Probleme in mysql_query() verwendet werden kann. Wenn Sie Binärdaten einfügen wollen, müssen Sie die Funktion auf jeden Fall verwenden.
mysql_real_escape_string() ruft die Funktion mysql_real_escape_string der MySQL-Bibliothek auf, die folgende Zeichen mit einem Backslash ('\') versieht: \x00, \n, \r, \, ', " und \x1a.
Die Funktion muss immer (mit wenigen Ausnahmen) verwendet werden, um Daten abzusichern, bevor sie per Query an MySQL übermittelt werden.
Gruß Markus