当使用 password_hash() 函数生成散列密码时,为什么我想在将它插入数据库时使用准备好的语句?
我的假设是我不需要为密码使用准备好的语句,但为了保持一致性,使用一个也没有坏处。
附加问题:
如果我使用 password_hash 函数的 PASSWORD_DEFAULT 参数,它目前将使用 bcrypt 算法,但将来可以替换为不同的算法。如果我不使用准备好的语句, future 的算法是否会使用单引号或其他可能破坏 SQL 语句的符号?
最佳答案
is there any reason why I would want to use a prepared statement when inserting it into the database?
是
仅仅是因为数据库层应该完全不了解数据源、性质、含义或先前的验证。数据库层的工作是将数据正确地放入数据库中。准备好的语句是这样做的唯一正确方法。
因此,用您自己的话来说,“但为了保持一致性,使用一个也无妨”。
关于php - 在 password_hash 值上使用准备好的语句有什么意义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36901808/