我有一個頁面,更新特定用戶的數據。用戶有位置,這是一個外鍵。查詢更新(下面)沒有位置工作正常,但與位置我得到以下錯誤。PHP:在更新語句錯誤與子查詢
查詢:
錯誤查詢:您的SQL語法錯誤;檢查對應於你的MySQL服務器版本正確的語法近 使用「SELECT positionid FROM visitorsystem.position WHERE positionName LIKE‘%INFORMAT’在行3
我試圖適合我的方式手動 通過使用內部連接,因爲我已經看到了一些在這裏給出的解決方案,但沒有任何工作。有什麼建議麼 ?
你的子查詢不應該引號之間,但括號之間 –
** WARNING **:當使用'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'或**任何**用戶數據直接放入查詢中,如果有人試圖利用您的錯誤,這可能會非常有害。 – tadman
注:面向對象的接口,以'mysqli'是顯著更簡潔,使代碼更容易閱讀和審覈,並且不容易過時的'mysql_query'接口混淆。在你過於投入程序風格之前,它是值得轉換的。例如:'$ db = new mysqli(...)'和'$ db-> prepare(「...」)過程接口是PHP4時代的一個神器,當引入mysqli API時,不應該在新的代碼 – tadman