Backslash an mysqldatenbank übergeben ?

Code:
$eintrag = "INSERT INTO `XXX` ( `xxx` , `xxx` , `xxx` , `xxx` , `xxx` , `xxx` , `xxx` ) VALUES ('x', 'x', '<a href="test.php?url=\\1" target="_blank"></a>', 'xxxx', 'xxx', 'x', 'x')";
So müsste es gehen...
Wenn du die URL flexibel durch ne PHP-Variable eingibst, dann muss das so aussehen:
Code:
$eintrag = "INSERT INTO `XXX` ( `xxx` , `xxx` , `xxx` , `xxx` , `xxx` , `xxx` , `xxx` ) VALUES ('x', 'x', '".$url."', 'xxxx', 'xxx', 'x', 'x')";
Und im Vorfeld einfach folgendes:
Code:
$url= '<a href="test.php?url=\\1" target="_blank"></a>';

Is ne zweite Möglichkeit, wobei letztere garantiert en müsste...
 
Bei der ersten Möglichkeit bekomme ich:
Parse error: syntax error, unexpected T_STRING.......
naja, iss ja auch kein \ vor den ""........

bei der 2. Möglichkeit,
wird der code zwar wieder übertragen, aber landet wieder nur so in der DB

Code:
"<a href="test.php?url=1" target="_blank"></a>"

grml
btw: vielen dank für die Hilfe..:)
 
Parse error: syntax error, unexpected T_STRING....... <-Den kompletten Fehlercode pls, denn da steht meistens schon die halbe Lösung drinne xD

Vllt solltest du auch einfach nen anderes Symbol verwenden, weil die Backslashes ja zum maskieren von Anführungszeichen reserviert sind...
 
Zuletzt bearbeitet:
Parse error: syntax error, unexpected T_STRING....... <-Den kompletten Fehlercode pls, denn da steht meistens schon die halbe Lösung drinne xD

steht doch schon da ! :)

Parse error: syntax error, unexpected T_STRING in /www/htdocs/xxxx/yyy/xxx/xxx.php on line 35
und 35 ist
Code:
$eintrag = "INSERT INTO `XXX` ( `xxx` , `xxx` , `xxx` , `xxx` , `xxx` , `xxx` , `xxx` ) VALUES ('x', 'x', '<a href="test.php?url=\\1" target="_blank"></a>', 'xxxx', 'xxx', 'x', 'x')";
 
Achso ja ok...
Hmm...
Also wenn du es mit phpmyadmin rein schreibst, dann übernimmt der das MIT dem Backslash...
Aber wenn das über PHP gemacht wird nich...
Vllt tatsächlich, weil der Backslash in PHP reserviert ist...

Oder is sonst noch irgendetwas an den Statements unterschiedlich?
Hast dus in phpmyadmin irgendwie anders geschrieben als in PHP

Der Fehler kommt zu stande, weil der die Anführungszeichen da doch maskiert haben will, weil du das ganze Statement schon in Anführungszeichen hast...

Und ich glaube, weil das Statement in Anführungszeichen steht wird der Backslash als maskierendes Zeichen interpretiert...
 
Es ist eigentlich denkbar einfach:
PHP:
' … "'.mysql_real_escape_string("<a href=\"test.php?url=\\1\" target=\"_blank\"></a>").'" … '
 
Zurück