我有一个包含8个字段和相应表单的表。提交表单时,我有记录的ID。检查任何一个字段中的数据是否已针对该行更改的最佳方法是什么?应该使用SQL路由
WHERE field1=$field1 AND field2=$field2 ..... AND ID=$ID
或拉动行并用循环比较每个字段?有没有其他方法可以达到这个目的?
谢谢!
答案 0 :(得分:1)
取决于你需要做什么......
例如,有些人检查登录详细信息(假设所有变量都正确转义)。
SELECT `id`
FROM `users`
WHERE `username` = $username
AND `password` = $password
但如果您想记录用户名错误或密码错误,会发生什么? (当然你永远不应该告诉用户)。
在那种情况下,我会......
SELECT `id`, `password`
FROM `users`
WHERE `username` = $username
如果失败,则用户名不存在。然后,您可以在内部记录此信息。
然后,如果用户名存在,您可以(sha1($salt . $password)) === $passwordFromDb)
进行记录,但密码不正确。
但是,如果您不需要此级别的逻辑,则只需在SQL查询中进行比较。它会更简洁,更快速地启动。