Php 将INSERT语句转换为具有多个表的UPDATE

Php 将INSERT语句转换为具有多个表的UPDATE,php,mysql,Php,Mysql,如何使用MYSQL将这个INSERT语句转换成UPDATE语句?表filmInfo为actorinfo.id使用外键id\u actor引用表actorinfo 也许这是一个更好的方法,但这就是我现在所拥有的 $sql="INSERT INTO filmInfo (filmTitle, filmRole, filmDirector, id_actor) VALUES ('$_POST[filmTitle]','$_POST[filmRole]','$_POST[filmDirector]',

如何使用MYSQL将这个
INSERT
语句转换成
UPDATE
语句?表
filmInfo
actorinfo.id
使用外键
id\u actor
引用表
actorinfo

也许这是一个更好的方法,但这就是我现在所拥有的

$sql="INSERT INTO filmInfo (filmTitle, filmRole, filmDirector, id_actor)
VALUES
('$_POST[filmTitle]','$_POST[filmRole]','$_POST[filmDirector]', 
( select id FROM actorsInfo WHERE email = '$_SESSION[email]'))";
这是我的问题

$query="SELECT filmTitle, filmRole, filmDirector, idfilm FROM filmInfo, actorsInfo
WHERE (actorsInfo.id = filmInfo.id_actor) AND email = '$_SESSION[email]'";
我尝试了此操作,但
更新
无效:

$sql= "Update filmInfo  join actorsInfo 
ON actorsInfo.id = filmInfo.id_actor
Set 
filmTitle = '$filmTitle',
filmRole = '$filmRole',
filmDirecto = '$filmDirector'
WHERE (actorsInfo.id = afillInfo.id_actor) AND email = '$_SESSION[email]'";
请帮忙

这应该可以做到:

$sql= "Update filmInfo  join actorsInfo 
ON actorsInfo.id = filmInfo.id_actor
Set 
filmTitle = '$filmTitle',
filmRole = '$filmRole',
filmDirecto = '$filmDirector'
WHERE email = '$_SESSION[email]'";

您在
的WHERE
中引用了
afillInfo.id\u actor
,但是查询中没有提到这样的表。所有连接条件都应该在子句上的
中。

如果您已经有一个连接,为什么要使用where-actorInfo.id=afillInfo.id\u actor?我不相信“不工作”是标准的MySQL或PHP错误消息。当然,这并不是一个很好的描述问题的方法。我是否理解执行查询会导致咖啡壶开始唱ABC歌曲?什么是
afillInfo
?查询中没有提到这样的表。无需重复
WHERE
子句中的
ON
条件。