phpbar.de logo

Mailinglisten-Archive

Gelöst: Problem mit Feldinhalt (Strasse = 'Auf'm Berg')

Gelöst: Problem mit Feldinhalt (Strasse = 'Auf'm Berg')

Andreas Honnerlage MySql at honnerlage.de
Mon Feb 10 12:01:34 CET 2003


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