Mailinglisten-Archive |
Hallo! Danke für die schnelle Hilfe! Die Variante "Update..." kann ich leider nicht verwenden (Wegen VBA) Aber das escapen funktioniert (mit einer selbst"gekäkelten" Funktion klasse! Vielen Dank auch für den Auszug aus der DOKU! An einem Carriage-Return im Feld wäre ich wohl auch gescheitert.... Beste Grüße Andreas -----Ursprüngliche Nachricht----- Von: Michael Donning [mailto:donning at informenta.de] Gesendet: Montag, 10. Februar 2003 11:19 An: mysql-de at lists.4t2.com Betreff: RE: Problem mit Feldinhalt (Strasse = 'Auf'm Berg') Hallo Andreas, > -----Original Message----- > From: Andreas Honnerlage [mailto:MySql at honnerlage.de] > Update Verkauf set Strasse = 'Auf'm Berg' where lfdnr = 12345 > Was passiert, ist mir klar. Diese SQL-Anweisung ist schlicht falsch. Das Stichwort ist escaping. In diesem Fall würd ichs mal mit \' oder '' anstelle ' versuchen. Je nach Programmiersprache bietet auch manchmal die Client-API eine Möglichkeit. Bei Perl ist dies Z.B. die Methode quote(). In PHP glaube ich mysql_escape_string. Am Besten fährt man mit Bound variables. Dabei wird das Statement mit ? anstelle der parameter prepared und bei execute werden die Parameter als variablen übergeben. Arbeitest Du mit VBA und ODBC, dann mußt Du dir wahrscheinlich so eine Funktion selbst "häkeln", hier mal der betreffende Handbuchabschnitt: ------------------ 6.1.1.1 Strings A string is a sequence of characters, surrounded by either single quote (`'') or double quote (`"') characters (only the single quote if you run in ANSI mode). Examples: 'a string' "another string" Within a string, certain sequences have special meaning. Each of these sequences begins with a backslash (`\'), known as the escape character. MySQL recognises the following escape sequences: \0 An ASCII 0 (NUL) character. \' A single quote (`'') character. \" A double quote (`"') character. \b A backspace character. \n A newline character. \r A carriage return character. \t A tab character. \z ASCII(26) (Control-Z). This character can be encoded to allow you to work around the problem that ASCII(26) stands for END-OF-FILE on Windows. (ASCII(26) will cause problems if you try to use mysql database < filename.) \\ A backslash (`\') character. --------------------- Gruesse, Michael Donning -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive