您好我正在尝试将记录从一个表添加到另一个表,一旦我添加了“用户”记录,正在选择的表包含可用安全选项的行,并且正在插入的表是子表用户表,详细说明安全选项。
我在之前的帖子中查看了这段代码,我确信它很好用,但是我试图对它进行修改,以便语句中的值包含两部分,一部分来自select查询,另一部分是来自主记录。#
这是我在此网站上找到的原始代码:
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);
这是我得到的错误:
INSERT INTO Link_UserSecurity(UserFk,ModuleFk)值('4',SELECT 来自Global_Modules的ModulePk)
有关详细信息,请参阅screenshot
显然我没有正确地总结发言,但是会不会有任何帮助?
答案 0 :(得分:1)
您可以插入$('.header-image').css('background-image', 'url("/img/image.jpg")');
变量,就好像它是SQL中的常量一样:
$keys["UserPk"]
请注意,在将$sql = "INSERT INTO Link_UserSecurity (UserFk, ModuleFk) SELECT '{$keys["UserPk"]}', ModulePk from Global_Modules";
添加到查询中之前,必须对其进行转义。在PDO中,它看起来像这样:
$keys["UserPk"]
答案 1 :(得分:0)
可能是与双引号序列相关的问题
"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)";