bind results 和 fetch_assoc 有什么区别?
我知道绑定准备好的语句对安全性很有好处……绑定结果有什么好处?
绑定结果似乎真的比传统的 fetch_assoc() 复杂
(我最近才开始更改所有准备好的 MySQL 语句。)
通过让您预定义每次运行给定查询时查询数据的去向,绑定结果最终将使您的生活更轻松。使用 fetch_assoc,每次从数据库中获取某些内容时,您都必须挖掘一个数组。
我从中收集到的内容:mysqli get_result 和 bind_result 之间的性能或安全差异?
从数据库返回字符串没有安全风险(根据您返回的内容进行正确的验证)
get_result()
使从语句中返回预先创建的数组变得更容易。
bind_result()
可以轻松使用您希望使用的值。
一些程序员喜欢将关联数组的每个元素分配给一个常规变量,这样他们就可以不那么冗长地使用它们。Usingbind_result
会自动为您执行此操作,并且您不必每次通过 fetch 循环都重复它。
这基本上只是一种风格选择。主要问题bind_result
是您必须确保参数的顺序与选择列表保持同步。对于 bind_param 也是如此(这就是 PDO 允许 :name 参数来解决这个问题的原因),但好处大于它。
从本质上讲,这完全取决于开发人员喜欢使用什么。变量或求数组。它们都执行相同的任务,只是使用 bind_result 带走了一行代码来获取数组类型。