Moin Steffen,
wenn ich einen Eintrag in meine mysql-db vornehme, behandel ich ihn normalerweise mit
mysqli_real_escape_string($sql,trim($string))
.Ist das richtig so?
Wenn du keine Prepared Statements verwenden möchtest, ja.
Ich frag, weil ich immer wieder Probleme habe mit Strings, die Anführungszeichen enthalten. Da wird schonmal aus
Verbinder kpl. 3/8"
nach dem Excel daraus eine CSV-Datei macht:
"Verbinder kpl. 3/8"""
Das ist korrekt maskiert für den Kontextwechsel nach CSV.
und dann nach dem db-Eintrag:
\"Verbinder kpl. 3/8\"\"\"
Steht das so in der Datenbank? Hast du eventuell irgendwo magic quotes in Kombination mit dem fehlenden Decodieren aus dem CSV-Kontext?
Mein 2. Problem ist:
Ich sammel Bemerkungen zu einem Artikel in einem Array. Anschließend möchte ich die Bemerkungen zeilengetrennt in die Spalte (text) übernehmen.
$eintragBemerkung = implode('\n',$Bemerkung); $eintragBemerkung = mysqli_real_escape_string($sql,trim($eintragBemerkung))
Heraus kommt:
D10\nlieferbar
Was mache ich denn da falsch?
'\n'
ist etwas Anderes als "\n"
.
Viele Grüße
Robert