将记录从一个表插入另一个表

时间:2016-09-20 16:25:29

标签: php mysql insert

您好我正在尝试将记录从一个表添加到另一个表,一旦我添加了“用户”记录,正在选择的表包含可用安全选项的行,并且正在插入的表是子表用户表,详细说明安全选项。

我在之前的帖子中查看了这段代码,我确信它很好用,但是我试图对它进行修改,以便语句中的值包含两部分,一部分来自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

显然我没有正确地总结发言,但是会不会有任何帮助?

2 个答案:

答案 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)";