我一直在尋找答案無處不在,但只是無法找出爲什麼我不斷得到解析錯誤爲這一行。解析錯誤:語法錯誤,意外的T_VARIABLE,插入,PHP
$sql = "INSERT INTO NIMET(NIMI) VALUES("$_POST['fname']")";
誰能告訴我爲什麼這行得到一個分析錯誤?
我一直在尋找答案無處不在,但只是無法找出爲什麼我不斷得到解析錯誤爲這一行。解析錯誤:語法錯誤,意外的T_VARIABLE,插入,PHP
$sql = "INSERT INTO NIMET(NIMI) VALUES("$_POST['fname']")";
誰能告訴我爲什麼這行得到一個分析錯誤?
$sql = "INSERT INTO NIMET(NIMI) VALUES(".$_POST['fname'].")";
您需要使用.
來組合字符串。
還有一個fanzy方式,但你需要從PHP新版本不夠:
$sql = "INSERT INTO NIMET(NIMI) VALUES({$_POST['fname']})";
我想你需要的是PHP的版本是5.3或5.6。但我對此毫不知情。
除此之外:您不應該從$_POST
或$_GET
插入任何未經驗證的數據到您的數據庫。這可以用來插入惡意代碼。
使用.
連接兩個字符串是這樣的:
$sql = "INSERT INTO NIMET(NIMI) VALUES(".$_POST['fname'].")";
我建議就如何在PHP中使用字符串讀了。見http://php.net/manual/en/language.types.string.php –
好東西不起作用。這是廣泛開放SQL注入。錯誤告訴你所有你需要知道的事情,'$ _POST ['fname']'是不可預料的。你拿掉'''s並將它用作一個複雜的變量'{}',但是你也不應該這樣做。參數化查詢。 – chris85