Php 将数据库行与提交的表单数据进行比较的最佳方法

Php 将数据库行与提交的表单数据进行比较的最佳方法,php,sql,mysql,Php,Sql,Mysql,我有一个表,有8个字段和相应的表单。提交表格时,我有记录的id。检查该行任何字段中的数据是否已更改的最佳方法是什么?应该使用SQL路由 WHERE field1=$field1 AND field2=$field2 ..... AND ID=$ID 或者拉动行并用循环比较每个字段?还有其他的方法吗 谢谢 取决于你需要做什么 例如,有些人会像这样检查登录详细信息(假设所有变量都已正确转义) 但是如果您想在用户名错误或密码错误时登录,会发生什么?(当然,您永远不应该告诉用户这一点) 那样的话,我会

我有一个表,有8个字段和相应的表单。提交表格时,我有记录的id。检查该行任何字段中的数据是否已更改的最佳方法是什么?应该使用SQL路由

WHERE field1=$field1 AND field2=$field2 ..... AND ID=$ID
或者拉动行并用循环比较每个字段?还有其他的方法吗


谢谢

取决于你需要做什么

例如,有些人会像这样检查登录详细信息(假设所有变量都已正确转义)

但是如果您想在用户名错误或密码错误时登录,会发生什么?(当然,您永远不应该告诉用户这一点)

那样的话,我会

SELECT `id`, `password`
  FROM `users`
 WHERE `username` = $username
如果失败,则用户名不存在。然后,您可以在内部记录此操作

然后您可以执行
(sha1($salt.$password))==$passwordFromDb)
以便能够在用户名存在但密码不正确时登录


但是,如果不需要这种逻辑级别,只需在SQL查询中进行比较即可。它将更简洁,启动更快。

取决于您需要做什么

例如,有些人会像这样检查登录详细信息(假设所有变量都已正确转义)

但是如果您想在用户名错误或密码错误时登录,会发生什么?(当然,您永远不应该告诉用户这一点)

那样的话,我会

SELECT `id`, `password`
  FROM `users`
 WHERE `username` = $username
如果失败,则用户名不存在。然后,您可以在内部记录此操作

然后您可以执行
(sha1($salt.$password))==$passwordFromDb)
以便能够在用户名存在但密码不正确时登录


但是,如果不需要这种逻辑级别,只需在SQL查询中进行比较即可。它将更加简洁,启动速度更快。

谢谢,我将坚持使用SQL方法。谢谢你也帮我解答了我自己的问题!谢谢,我会坚持使用SQL方法。谢谢你帮我解答了我自己的问题!在update语句中设置新字段值时,应与字段的旧值进行比较。是否已保存旧值以进行比较?在update语句中设置新字段值时,应与字段的旧值进行比较。您是否保存了旧值以进行比较?