2017-05-21 2 views
-1

Hallo, ich habe einen Syntaxfehler in meinem Code derPHP Parse-Syntaxfehler T_ENCAPSED_AND_WHITESPACE

Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\xampp\htdocs\project\addProduct.php on line 43

hier ist mein Code

mysqli_query($db_connect, "INSERT INTO `product` (`pname`, `pid`, `disc`, `price`, `size`, `tage`, `remarks`, `catid`, `img1`, `img2`, `img3`) 
       values('$_POST[pname]','$_POST[pid]','$_POST[pdisc]','$_POST[pprice]','$_POST[page]','$_POST[prem]','$_POST[psize]' ,'$_POST[pcat]', 
       '$_FILES['img1']['name']','$_FILES['img2']['name']','$_FILES['img3']['name']')"); 
+2

** ACHTUNG: ** Wenn Sie 'mysqli' verwenden, sollten Sie [parametrisierte Abfragen] (http://php.net/manual/en/mysqli.quickstart.prepared-statements.php) und [bind_param] (http://php.net/manual/en/mysqli-stmt.bind-param.php), um Benutzerdaten zu Ihrer Abfrage hinzuzufügen. Verwenden Sie NICHT die String-Interpolation oder Verkettung, um dies zu erreichen, weil Sie einen schwerwiegenden [SQL-Injektionsfehler] (http://bobby-tables.com/) erstellt haben. ** NIEMALS ** $ _POST ',' $ _GET' oder ** beliebige ** Benutzerdaten direkt in eine Abfrage einfügen, da es sehr schädlich sein kann, wenn jemand versucht, Ihren Fehler auszunutzen. – FrankerZ

Antwort

1

Um Ihr aktuelles Problem zu lösen, entfernen Sie die Apostrophe aus Ihrem $_FILES Array:

mysqli_query($db_connect, "INSERT INTO `product` (`pname`, `pid`, `disc`, `price`, `size`, `tage`, `remarks`, `catid`, `img1`, `img2`, `img3`) 
       values('$_POST[pname]','$_POST[pid]','$_POST[pdisc]','$_POST[pprice]','$_POST[page]','$_POST[prem]','$_POST[psize]' ,'$_POST[pcat]', 
       '$_FILES[img1][name]','$_FILES[img2][name]','$_FILES[img3][name]')"); 

Um Ihr Hauptproblem zu lösen, read this.