Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将记录从一个表插入到另一个表_Php_Mysql_Insert - Fatal编程技术网

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

Php 将记录从一个表插入到另一个表,php,mysql,insert,Php,Mysql,Insert,您好,我正在尝试将记录从一个表添加到另一个表,一旦我添加了“用户”记录,正在选择的表包含可用安全选项行,并且正在插入的表是用户的子表,详细说明了安全选项 我在前面的一篇文章中浏览了这段代码,我确信这段代码工作得很好,但是我正在尝试修改它,以便语句中的值包括两部分,一部分来自select查询,另一部分是主记录中的键 这是我在此网站上找到的原始代码: INSERT INTO def (catid, title, page, publish) SELECT catid, title, 'page',

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

我在前面的一篇文章中浏览了这段代码,我确信这段代码工作得很好,但是我正在尝试修改它,以便语句中的值包括两部分,一部分来自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);
这就是我得到的错误:

插入链接\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:谢谢,添加了逗号!