Supportnet / Forum / Skripte(PHP,ASP,Perl...)
sring mit backslash in sql speichern --> backslash fehlt
Frage
hi
ich habe ein kleines problem. In meinen PHP seite ist ein Dateiupload integriert (funktioniert einwandfrei).
In einer SQL tabelle soll der Pfad mit Dateiname des upgeloadeten files gespeichert werden.
Hierfür habe ich einen festen string des ordner-pfades erstellt, an den dann der dateiname (aus dem §_POST-array) drangehängt wird.
Die daten werden ohne fehlermeldung in die tabelle eingefügt, allerdings fehlen bei dem gespeichertn Pfad alle backslashes.
Ich habs schon mit single- und doubleqoutes im string probiert, jeweils mit escapen und ohne. Das ergebnis war das selbe. Zum vergleich habe ich einen Text (mit backslashes), den ich in einem textfeld eingegeben habe ebenfalls in der tabelle gespeichert. Da funktionierte es einwandfrei.
Hier noch der relevante Code:
[code]
if(isset($_POST['inputAddToSQL']))
{
$folder="C:\\pfad\ordner";
$path=$folder.$_FILES['inputFileupload']['name'];
$sql="INSERT INTO tabelle(spalte)
VALUES('$path');";
mysql_query($sql)or die(mysql_error());
}
[/code]
Antwort 1 von _mpact
hab die lösung mitlerweile gefunden:
man muss aus irgendeinem grund 3 backslashes reinmachen. vor einem zeichen das man escapen kann (wie zB " oder $) noch einen vierten... müsste also so aussehen:
$folder="C:\\\pfad\\\ordner\\\\";
Aber gibts da vllt auch ne funktion die das php/sql konform umwandeln kann?
MfG
man muss aus irgendeinem grund 3 backslashes reinmachen. vor einem zeichen das man escapen kann (wie zB " oder $) noch einen vierten... müsste also so aussehen:
$folder="C:\\\pfad\\\ordner\\\\";
Aber gibts da vllt auch ne funktion die das php/sql konform umwandeln kann?
MfG

