繁体   English   中英

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

[英]PHP: Error on Update statement with 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服务器版本相对应的手册以获取正确的语法,以在第3行的'SELECT positionid FROM visitorsystem.position WHERE positionName LIKE'%Informat'附近使用

我尝试通过使用内部联接来解决问题,因为我看到了堆栈上给出的一些解决方案,但没有任何效果。 有什么建议么 ?

子查询位于常规括号内,而不是引号内,因此在一般意义上:

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

单引号和双引号(默认情况下) 适用于字符串值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM