PHP:带子查询的Update语句出错

时间:2017-08-22 17:03:29

标签: php mysql sql-update subquery

我有一个页面可以更新特定用户的数据。用户具有位置,即外键。查询更新(如下)在没有位置的情况下工作正常,但是在位置我得到以下错误。

查询:

 $queryUpdate = "UPDATE visitorsystem.employee SET idNumber = '$idNumber', name = '$name',
                            surname = '$surname',
                            position = 'SELECT positionid FROM visitorsystem.position WHERE positionName LIKE '%$position%'',
                            email = '$email'
                            WHERE employeeid = '$empId'";

                            $resultUpdate = mysqli_query($connection,$queryUpdate)
                                or die("Error in query: ". mysqli_error($connection));
  

查询错误:SQL语法中有错误;检查手册   对应于您的MySQL服务器版本,以获得正确的语法   在'SELECT positionid FROM visitorsystem.position WHERE附近使用   positionName LIKE'%Informat'在第3行

我试图通过使用内部连接来解决问题,因为我已经看到了堆栈中给出的一些解决方案,但没有任何工作。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

子查询在普通的parens中,而不是引号,所以在一般意义上:

SELECT x FROM y WHERE z IN (SELECT z FROM a)

单引号和双引号(默认情况下)表示字符串值。