绑定结果和fetch_assoc之间有什么区别

时间:2013-09-11 02:30:37

标签: php mysql

绑定结果和fetch_assoc有什么区别?

我知道准备好的声明的绑定对安全性有好处...绑定结果有什么好处?

绑定结果似乎比传统的fetch_assoc()

复杂

(我刚刚开始更改我要准备的所有MySQL语句。)

2 个答案:

答案 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就会删除一行代码来获取数组类型。