2

bind results 和 fetch_assoc 有什么区别?

我知道绑定准备好的语句对安全性很有好处……绑定结果有什么好处?

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

(我最近才开始更改所有准备好的 MySQL 语句。)

4

2 回答 2

2

通过让您预定义每次运行给定查询时查询数据的去向,绑定结果最终将使您的生活更轻松。使用 fetch_assoc,每次从数据库中获取某些内容时,您都必须挖掘一个数组。

于 2013-09-11T02:33:49.113 回答
1

我从中收集到的内容:mysqli get_result 和 bind_result 之间的性能或安全差异?

从数据库返回字符串没有安全风险(根据您返回的内容进行正确的验证)

get_result()使从语句中返回预先创建的数组变得更容易。

bind_result()可以轻松使用您希望使用的值。

一些程序员喜欢将关联数组的每个元素分配给一个常规变量,这样他们就可以不那么冗长地使用它们。Usingbind_result会自动为您执行此操作,并且您不必每次通过 fetch 循环都重复它。

这基本上只是一种风格选择。主要问题bind_result是您必须确保参数的顺序与选择列表保持同步。对于 bind_param 也是如此(这就是 PDO 允许 :name 参数来解决这个问题的原因),但好处大于它。

从本质上讲,这完全取决于开发人员喜欢使用什么。变量或求数组。它们都执行相同的任务,只是使用 bind_result 带走了一行代码来获取数组类型。

于 2013-09-11T02:46:41.247 回答