我想排名。
我想通过表格收集数据到表1中。现在,每个人都必须编写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";
但是如何加入选择并将其放入插入?
答案 0 :(得分: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'
作为旁注,如果值( s )来自外部,则查询容易被SQL Injection
攻击。请查看下面的文章,了解如何防止它。通过使用PreparedStatements,您可以摆脱在值周围使用单引号。