1

我想做一个排名。

表格1

  • ID
  • 姓名
  • 经验点
  • 等级。

表2

  • 等级
  • 经验点。

我想通过表格将数据收集到 Table1 中。现在,每个人都要写XP和LvL。

如果他们发布XP会更好,并且LvL自动来自Table2。

我用这个将数据插入表中:

$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";

但是我怎样才能加入选择,并将其放入插入中?

4

1 回答 1

1

使用INSERT...INTO 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 Injection如果值(s)来自外部,则查询很容易受到攻击。请看下面的文章,了解如何预防。通过使用 PreparedStatements,您可以摆脱在值周围使用单引号。

于 2013-01-20T16:14:50.617 回答