【发布时间】:2022-01-15 08:30:22
【问题描述】:
我被分配了创建一个秘密圣诞老人站点的任务,用户登录并从数据库中随机选择一个名称。条件是你不画自己的名字,但由于一次只选择一个名字,我遇到了下面提到的问题: 3 人是(比尔、迈克和杰克) 比尔
$sql ="SELECT gifted
FROM gifts
WHERE gifted != '$username'
AND isgifted = 0
ORDER BY Rand()
LIMIT 1";
【问题讨论】:
-
您的脚本对SQL Injection Attack 开放。即使是if you are escaping inputs, its not safe!,您也应该始终在
MYSQLI_或PDOAPI 中使用prepared parameterized statements,而不是将用户提供的值连接到查询中。永远不要相信任何用户输入! -
@ADyson 你的愿望是...... :)
-
所以你的 PHP 代码只是一个 SQL 查询?
-
您需要在开始时一次性完成所有作业。否则有些人需要送两份以上的礼物,而有些人根本不需要提供任何礼物。
-
@Andy 是的,这是我想到的一种解决方案,但在研究了一段时间后,我意识到当四个人在场时,该方法也可以解决问题。例如,如果 A 得到 B,B 得到 C,C 得到 A。即使没有人互相赠送,D也没有人可以赠送