Php 将INSERT语句转换为具有多个表的UPDATE
如何使用MYSQL将这个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]',
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
条件。