Benötige Hilfe bei einer Query

Nightm4r3

New Member
Hallo

Und zwar habe ich da ein problem...

UPDATE `tabelle` SET `field` ='Bottes d'écuyer' WHERE `entry` ='43';

Bisher hat das gut funktioniert nur hier eben nicht ich vermute mal das dass an dem ' Zeichen in dem namen liegt...

Wie kann ich das nun trozdem verwenden? Gibt es da noch eine andere Möglichkeit?
 
In PHP sähe das dann so aus:

Code:
function charstr($string) {
    return implode (',', array_map ('ord', str_split ($string)));
}

$query = sprintf ('UPDATE `tabelle` SET `field` = CHAR(%s) WHERE `entry`= %d;', charstr("Bottes d'écuyer"), 43);
 
In PHP sähe das dann so aus:

Code:
function charstr($string) {
    return implode (',', array_map ('ord', str_split ($string)));
}

$query = sprintf ('UPDATE `tabelle` SET `field` = CHAR(%s) WHERE `entry`= %d;', charstr("Bottes d'écuyer"), 43);

Ich bin dabei eine Batch Datei zu erstellen bräuchte die query nur für meine MySQL DB ohne Php
 
probier doch mal das Zeichen einfach zu escapen

Code:
UPDATE `tabelle` SET `field` ='Bottes d\'écuyer' WHERE `entry` ='43';


oder zur Not das drumherum durch doppelte Anführungszeichen
Code:
UPDATE `tabelle` SET `field` ="Bottes d'écuyer" WHERE `entry` ='43';
 
Hm, dann so?

#!/bin/sh

text="Bottes d'écuyer"

text=`echo $text | perl -e 'while(<>){split//;@_=map ord,@_;print join",",@_}'`

query='UPDATE `tabelle` SET `field` = CHAR('$text') WHERE `entry` = 43;'

echo $query;
 
Code:
#!/bin/bash
text="Bottes d'écuyer"

text=`echo $text | sed "s/'/\\\\\'/g"`

query='UPDATE `tabelle` SET `field` = "'$text'" WHERE `entry` = 43;'
echo $query;
 
probier doch mal das Zeichen einfach zu escapen

Code:
UPDATE `tabelle` SET `field` ='Bottes d\'écuyer' WHERE `entry` ='43';


oder zur Not das drumherum durch doppelte Anführungszeichen
Code:
UPDATE `tabelle` SET `field` ="Bottes d'écuyer" WHERE `entry` ='43';

THX funktioniert bestens :)
 
Back
Top