PHP:WHERE子句附近的查询(MySQL)错误
我试图使用查询从表单中插入数据。下面的查询有一个WHERE子句,用于从visitorsystem.position中选择位置PHP:WHERE子句附近的查询(MySQL)错误,php,mysql,Php,Mysql,我试图使用查询从表单中插入数据。下面的查询有一个WHERE子句,用于从visitorsystem.position中选择位置 $query = "INSERT INTO visitorsystem.employee(idNumber,name,surname,position,email) VALUES ('$idNumber','$name','$surname',SELECT positionid FROM visitors
$query = "INSERT INTO visitorsystem.employee(idNumber,name,surname,position,email)
VALUES ('$idNumber','$name','$surname',SELECT positionid FROM visitorsystem.position WHERE position LIKE '%$position%','$email')";
执行时,给出以下错误。我尝试在SELECT…WHERE子句周围添加引号和单引号,但没有成功。如果问题出在查询本身或SELECT…WHERE子句上,您有什么想法吗
查询错误:您的SQL语法有错误;检查手册
对应于MySQL服务器版本的正确语法
在“fdsf”附近使用,从visitorsystem.position中选择positionid
第2行类似于“%inf”的位置
将查询更改为:
$query = "INSERT INTO visitorsystem.employee(idNumber,name,surname,position,email)
SELECT '$idNumber','$name','$surname',positionid,'$email' FROM visitorsystem.position WHERE position LIKE '%$position%'";
首先,了解防止SQL注入的预处理语句 其次,应将所有值添加到select语句中:
query = "INSERT INTO visitorsystem.employee(idNumber,name,surname,position,email)
SELECT $idNumber,'$name','$surname',positionid,'$email' FROM visitorsystem.position WHERE position LIKE '%$position%'";
另外,您不需要在$idNumber附近使用单引号,因为它是数字的您似乎错过了$Names中的单引号。在我写这个问题时,这只是一个输入错误,感谢您指出:您可以删除关于单引号的hine