Hallo zusammen,
ich möchte mit folgendem Befehl einen einfach Backslash durch einen einfach Slash ersetzen.
mysql\_query("UPDATE tabelle SET fullpath = replace (fullpath, '\\', '/')");
Leider erhalte ich immer die Fehlermeldung:
„You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‚‘)’ at line 1“.
Das eigentich interessante ist aber, dass der Befehl
UPDATE db\_01\_tbl\_Document\_attachments SET fullpath = replace (fullpath, '\\', '/')
unter phpMyAdmin einwandfrei funktioniert.
Was ist falsch?
Gruß und Dank!
Hallo
mysql_query(„UPDATE tabelle SET fullpath = replace (fullpath,
‚\‘, ‚/‘)“);
du willst \ gegen / tauschen ?
dann ist das \\ um ein \ , da ein \ schon belegt ist braucht es \ um die zu machen sind also zwei \ \ nötig was ergibt \\
ich denk des macht phpmyadmin für dich , deswegen gibbet keine fehler , aber im php schon 
Nochmal genauer
mysql_query(„UPDATE tabelle SET fullpath = replace (fullpath,
‚\‘, ‚/‘)“);
dein query ist in anführungszeichen …
also ergebnis ist dann
UPDATE tabelle SET fullpath = replace (fullpath,:’’, ‚/‘)
das wäre aber ein error … ’ uhhhh
also
brauch es noch ein \ , was wegen anführungszeichen \ sein muss,
also
UPDATE tabelle SET fullpath = replace (fullpath,:’\’, ‚/‘)
das in anführunszeichen ist dann
„UPDATE tabelle SET fullpath = replace (fullpath,:’\\’, ‚/‘)“
deutlich ??
Hallo Alex,
versuch doch mal den Befehl replace auszulagern.Vielleicht funktioniert es dann ja.
MfG Lucas
Noch nicht ganz klar
Hallo und danke für die Antwort,
leider ist mir das noch nicht ganz klar. Aber lass mich einfach mal ne Nacht drüber schlafen. Ich melde mich morgen nochmal.
Gruß
Selbst nochmal probiert
Hallo nochmal,
es soll ein Backslash durch einen Slash ersetzt werden.
Der Befehl dafür klappt auch folgendermaßen.
<?php mysql_query("UPDATE tabelle SET fullpath = replace (fullpath, '\\\', '/')");<br />?\>
Ich habe das so verstanden.
Unter PHP wird mit
echo "'\\\'";
zwei Backlashes ausgegeben. Das gleich gilt für den Update Befehl. Drei sind zwar angegeben aber es bleiben nur noch zwei davon übrig. Und mySQL nimmt dann von diesen zwei wiederum einen weg.
Siehe hier
http://dev.mysql.com/doc/refman/5.1/de/string-syntax…
Also PHP und mySQL nehmen jeweils einen Backslash weg.
Ist das so richtig?
Gruß und Dank!
1 „Gefällt mir“
Hallo ,
Ja lol , ich habs auch nciht ausprobiert … hab da ein ganz anderes problem gehbt, unzwar eine escape sequence in die db zu schreiben … dann brauch man 2 ,
Hast gut probiert und die Lösung für dein Problem gefunden 
Danke noch für die Lösung .