【发布时间】:2021-05-05 10:52:21
【问题描述】:
以下经典 ASP 代码用于统计网站的每日页面访问量。然后检查最后一条记录的日期:
- 如果日期已更改,则插入新行
- 如果日期未更改,则更新以前的记录
但是,每天都有多个不需要的记录,其中重复日期有 1 次或 2 次或 3 次访问,还有一个真实记录,例如同一日期有 10000 次访问。重复记录的可能原因有哪些?
recordset.open "select top 1 id from visit order by id desc",objcon
if recordset("mdate")=today then
sql="update visit set counter=counter+1 where id=" & recordset("id")
objcon.execute sql
else
sql="insert into visit (mdate,counter) values ('" & today & "','1')"
objcon.execute sql
end if
recordset.close
【问题讨论】:
-
我很困惑。
mdate是如何定义的? -
你来这个网站问问题有多久了,你似乎没有学习或坚持以前的建议,SQL 注入,并发问题这些是你现在应该知道如何解决的问题避免。看到同一个用户一遍又一遍地犯同样的错误是很痛苦的。
-
谢谢@user692942 我知道如何避免注入。你有一些重要的心态,并期望这对每个人都很重要。这是一个原始示例代码,将在重要用途之前进行多次编辑和改进。为什么我要害怕来自安全感知的示例代码?不怕别人抄这些代码吗?
-
@AliSheikhpour 没有理解为样本写错的概念。如果您要编写需要使用参数化查询的示例代码,请包括它们。如果它不是示例,您将如何编写此代码?为什么您甚至需要示例代码的帮助?这些都没有任何意义。
标签: sql asp-classic