Php 将记录从一个表插入到另一个表
您好,我正在尝试将记录从一个表添加到另一个表,一旦我添加了“用户”记录,正在选择的表包含可用安全选项行,并且正在插入的表是用户的子表,详细说明了安全选项 我在前面的一篇文章中浏览了这段代码,我确信这段代码工作得很好,但是我正在尝试修改它,以便语句中的值包括两部分,一部分来自select查询,另一部分是主记录中的键 这是我在此网站上找到的原始代码:Php 将记录从一个表插入到另一个表,php,mysql,insert,Php,Mysql,Insert,您好,我正在尝试将记录从一个表添加到另一个表,一旦我添加了“用户”记录,正在选择的表包含可用安全选项行,并且正在插入的表是用户的子表,详细说明了安全选项 我在前面的一篇文章中浏览了这段代码,我确信这段代码工作得很好,但是我正在尝试修改它,以便语句中的值包括两部分,一部分来自select查询,另一部分是主记录中的键 这是我在此网站上找到的原始代码: INSERT INTO def (catid, title, page, publish) SELECT catid, title, 'page',
INSERT INTO def (catid, title, page, publish)
SELECT catid, title, 'page','yes' from `abc`
这就是我想用它做的:
$sql = "INSERT INTO Link_UserSecurity (UserFk, ModuleFk) values ('".$keys["UserPk"]."', SELECT ModulePk from Global_Modules)";
CustomQuery($sql);
这就是我得到的错误:
插入链接\u UserSecurity UserFk,ModuleFk值“4”,选择
来自全局_模块的ModulePk
有关更多详细信息,请参阅
很明显,我没有正确地将from语句浓缩,但希望您能提供帮助。可能是与双引号序列相关的问题
"INSERT INTO Link_UserSecurity (UserFk, ModuleFk)
values ('". $keys['UserPk']. "', SELECT ModulePk from Global_Modules)";
但也可以使用选择插入
"INSERT INTO Link_UserSecurity (UserFk, ModuleFk)
SELECT '" . $keys['UserPk']. "' , ModulePk from Global_Modules)";
您可以插入$keys[UserPk]变量,就像它是SQL中的常量一样:
$sql = "INSERT INTO Link_UserSecurity (UserFk, ModuleFk) SELECT '{$keys["UserPk"]}', ModulePk from Global_Modules";
请注意,在将$keys[UserPk]添加到查询中之前,必须对其进行转义。在PDO中,它将如下所示:
$keys["UserPk"] = $pdo->quote($keys["UserPk"]);
$sql = "INSERT INTO Link_UserSecurity (UserFk, ModuleFk) SELECT '{$keys["UserPk"]}', ModulePk from Global_Modules";
感谢您对它进行了排序,但是您遗漏了userpk之间的逗号,例如$sql=INSERT-INTO-Link\u-UserSecurity-UserFk,ModuleFk-SELECT'{$keys[userpk]}',ModulePk-from-Global\u-Modules@user5641678:谢谢,添加了逗号!