Mailinglisten-Archive |
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
php::bar PHP Wiki - Listenarchive