绑定结果和fetch_assoc有什么区别?
我知道准备好的声明的绑定对安全性有好处...绑定结果有什么好处?
绑定结果似乎比传统的fetch_assoc()
复杂(我刚刚开始更改我要准备的所有MySQL语句。)
答案 0 :(得分:2)
通过让您在每次运行给定查询时预先定义查询中的数据的位置,绑定结果最终将使您的生活更轻松。使用fetch_assoc,每次从数据库中获取内容时都必须挖掘数组。
答案 1 :(得分:1)
我收集的内容:Performance or security differences between mysqli get_result and bind_result?
从数据库返回字符串没有安全风险(正确的验证取决于您返回的内容)
get_result()
可以更容易地从语句中返回预先创建的数组。
bind_result()
可让您轻松使用您希望使用的值。
有些程序员喜欢将关联数组的每个元素分配给常规变量,因此他们可以更简洁地使用它们。使用bind_result
会自动为您执行此操作,并且您不必每次都通过提取循环重复此操作。
这基本上只是一种风格选择。 bind_result
的主要问题是您必须确保参数的顺序与选择列表保持同步。对于bind_param也是如此(这就是为什么PDO允许:name参数来解决这个问题),但好处大于它。
基本上,这完全取决于开发人员喜欢使用的内容。变量或寻找数组。它们都执行相同的任务,只需使用bind_result就会删除一行代码来获取数组类型。