我有一个页面,更新特定用户的数据。用户有位置,这是一个外键。查询更新(下面)没有位置工作正常,但与位置我得到以下错误。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