2017-05-21 61 views
-1

你好,我有我的代碼語法錯誤是PHP的解析語法錯誤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

這裏是我的代碼

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

**警告:**當使用'mysqli'時,您應該使用[參數化查詢](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)和[bind_param]( http://php.net/manual/en/mysqli-stmt.bind-param.php)將用戶數據添加到您的查詢中。不要使用字符串插值或串聯來實現這個,因爲你已經創建了一個嚴重的[SQL注入漏洞](http://bobby-tables.com/)。 **不要**將'$ _POST','$ _GET'或**任何**用戶數據直接放入查詢中,因爲如果有人試圖利用您的錯誤,這可能會非常有害。 – FrankerZ

回答

1

爲了解決當前的問題,從您$_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]')"); 

爲了解決您的主要問題,read this

相關問題