MySQL interpretiert den String in der Where Klausel falsch :(
Boris B.
- datenbank
0 ChrisB
Hallo,
der Befehl
SELECT column FROM table WHERE column LIKE 'value'
macht mir sofern Problem, dass wenn sagen wir value zB folgender String '28.7.2008 kaffee' ist, so er diesen String falsch interpretiert und ne Fehlermeldung ausspuckt. Wie kann ich veranlassen, dass er alles, was zwischen den Abostrophen steht, Wort wörtlich nimmt???? Ich beiße mir nämlich schon hier die Zähne aus *rrr*...
Ach ja, gibt es eigentlich ne Funktion in MySQL, die Funktionszeichen wie ' mit ' versieht? Also unter php hieß das Unescapen mein ich. Aber ich arbeite über den dotnet-connector. und da würde ich die funktion lieber mysql intern nutzen, falls es sowas gibt?
Gruß,
Boris
Hi,
SELECT column FROM table WHERE column LIKE 'value'
macht mir sofern Problem, dass wenn sagen wir value zB folgender String '28.7.2008 kaffee' ist, so er diesen String falsch interpretiert und ne Fehlermeldung ausspuckt. Wie kann ich veranlassen, dass er alles, was zwischen den Abostrophen steht, Wort wörtlich nimmt????
In dem du dafuer sorgst, dass "er" es nicht missverstehen kann.
Ach ja, gibt es eigentlich ne Funktion in MySQL, die Funktionszeichen wie ' mit ' versieht?
Ja, QUOTE().
Also unter php hieß das Unescapen mein ich.
Unter PHP heisst die Funktion, um Daten fuer die Verwendung in einem MySQL Query aufzubereiten, mysql_real_escape_string (resp. deren MySQLi-Variante).
Aber ich arbeite über den dotnet-connector. und da würde ich die funktion lieber mysql intern nutzen, falls es sowas gibt?
Nein, wuerdest du nicht.
Wenn du die komplette Query als String zusammensetzt, bevor du sie an die Datenbank uebergibst, kaeme QUOTE logischerweise zu spaet.
Und wenn du prepared Statements nutzt - dann brauchst du sie nicht, weil diese sowieso fuer eine strikte Trennung zwischen Befehl und Daten sorgen.
MfG ChrisB