gpt4 book ai didi

php - 在 PHP 中使用 SQL UPDATE 返回

转载 作者:行者123 更新时间:2023-11-29 00:25:50 25 4
gpt4 key购买 nike

每次用户登录时,我都会保存他的 ID。为了限制程序的传播,我想允许每个用户最多拥有 3 个设备。此语句用 HardwareID 填充数据库

SQL:

UPDATE  license SET
hardwareID3 = CASE WHEN hardwareID1 IS NOT NULL AND
hardwareID2 IS NOT NULL AND
hardwareID3 IS NULL
THEN $hwid
ELSE hardwareID3 END,
hardwareID2 = CASE WHEN hardwareID1 IS NOT NULL AND
hardwareID2 IS NULL
THEN $hwid
ELSE hardwareID2 END,
hardwareID1 = CASE WHEN hardwareID1 IS NULL
THEN $hwid
ELSE hardwareID1 END
WHERE code = $lic AND $hwid NOT IN (COALESCE(hardwareID1,hardwareID2,hardwareID3, 0))

PHP:

$checkhwid = $VBPHP -> uphwid($hwid, $lic);

有两个问题:

  1. 当用户使用第二个 ID(例如“2”)登录 2 次时,值“2”也会写入 hardwareID3 列。

  2. 如果用户尝试使用第 4 个 ID 登录并向他返回错误,我想捕捉。遗憾的是,我不能使用“真或假”ifs,因为当用户使用第一个 ID 登录时,我会得到“真”结果,如果他使用 ID 1 多次登录,我会得到假,因为声明没有改变任何东西(什么是正确的)。

我的想法已经用完了。提前致谢。

最佳答案

下面你可以返回错误信息并捕获失败的登录次数

        UPDATE  license SET

errormessage = CASE WHEN hardwareID1 IS NOT NULL AND
hardwareID2 IS NOT NULL AND
hardwareID3 IS not NULL
and )$hwid!=hardwareID1 or $hwid!=hardwareID2 or $hwid!=hardwareID2)
then 'errormessage' else 'allok' end,

failedlogins = CASE WHEN hardwareID1 IS NOT NULL AND
hardwareID2 IS NOT NULL AND
hardwareID3 IS not NULL
and $hwid!=hardwareID1 and $hwid!=hardwareID2 and $hwid!=hardwareID2
then failedlogins+1 else failedlogins end,

hardwareID3 = CASE WHEN hardwareID1 IS NOT NULL AND
hardwareID2 IS NOT NULL AND
hardwareID3 IS NULL
and ($hwid!=hardwareID1 or $hwid!=hardwareID2 )

THEN $hwid
ELSE hardwareID3 END,
hardwareID2 = CASE WHEN hardwareID1 IS NOT NULL AND
hardwareID2 IS NULL
and $hwid!=hardwareID1
THEN $hwid
ELSE hardwareID2 END,
hardwareID1 = CASE WHEN hardwareID1 IS NULL
THEN $hwid
ELSE hardwareID1 END
WHERE code = $lic AND $hwid NOT IN (COALESCE(hardwareID1,hardwareID2,hardwareID3, 0))

关于php - 在 PHP 中使用 SQL UPDATE 返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18962283/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com