如何在php中将表1中的数据插入表2中

如何在php中将表1中的数据插入表2中,php,mysql,sql,database,Php,Mysql,Sql,Database,我想做一个排名 表1 身份证 名字 经验点 利瓦尔 表2 LvL 体验点 我想通过表格将数据收集到表1中。现在,每个人都必须编写XP和LvL 如果他们发布XP,并且LvL自动来自表2,那就更好了 我使用以下命令将数据插入表中: $mysql ="INSERT INTO $table (id, name, xp, lvl) VALUES ('$id','$name','$xp','$lvl')"; 并使用以下命令选择lvl: $query="select id from table2 w

我想做一个排名

表1
  • 身份证
  • 名字
  • 经验点
  • 利瓦尔
表2
  • LvL
  • 体验点
我想通过表格将数据收集到表1中。现在,每个人都必须编写XP和LvL

如果他们发布XP,并且LvL自动来自表2,那就更好了

我使用以下命令将数据插入表中:

$mysql ="INSERT INTO $table (id, name, xp, lvl) VALUES ('$id','$name','$xp','$lvl')";
并使用以下命令选择lvl:

$query="select id from table2 where $lvl>=$xp LIMIT 0 , 1";

但是我如何加入选择并将其放入insert中呢?

使用
insert…插入SELECT
语句

INSERT  INTO table1 (ID, Name, ExperiencePoint, Lvl)
SELECT  '$id' AS ID, '$name' AS Name, 
        '$xp' AS ExperiencePoint, Lvl
FROM    table2
WHERE   ExperiencePoint = '$xp'

作为旁注,如果值来自外部,则使用
SQL注入
时查询易受攻击。请看下面的文章,了解如何预防它。通过使用PreparedStatements,可以避免在值周围使用单引号


使用
将…插入SELECT语句

INSERT  INTO table1 (ID, Name, ExperiencePoint, Lvl)
SELECT  '$id' AS ID, '$name' AS Name, 
        '$xp' AS ExperiencePoint, Lvl
FROM    table2
WHERE   ExperiencePoint = '$xp'

作为旁注,如果值来自外部,则使用
SQL注入
时查询易受攻击。请看下面的文章,了解如何预防它。通过使用PreparedStatements,可以避免在值周围使用单引号