在我即将完成的项目中,我编写并实现了一个用于PHP的对象关系映射解决方案。在怀疑者和梦想家喊出“如何在地球上?”之前,放松一下 - 我还没有找到一种方法来做出静态的静态绑定工作 - 我只是尽可能以最好的方式解决它。PHP + MYSQLI:使用预处理语句的可变参数/结果绑定
无论如何,我目前没有使用预处理语句进行查询,因为我无法想出一个办法可变数量的参数传递给bind_params()
或bind_result()
方法。
为什么我需要支持可变数量的参数,你问?因为我的模型的超类(将我的解决方案想象成一个被破解的PHP ActiveRecord想像者)是定义查询的地方,例如find()方法不知道它需要绑定多少个参数。
现在,我已经想过创建一个参数列表并将一个字符串传递给eval(),但我不太喜欢这个解决方案 - 我宁愿只实现我自己的安全检查并传递声明。
有没有人有关于如何完成这项工作的建议(或成功案例)?如果你能帮我解决这个第一个问题,或许我们可以解决绑定结果集的问题(如果涉及初始查询来确定表结构,我怀疑会更困难,或者至少会占用更多的资源)。
我认为函数名应该是`bind_param`而不是`bindparams`。至少在我的`mysqli`版本中,我使用它输入`$ stmt-> bind_param()`,而不是`$ stmt-> bindparams()`。干杯! – 2014-01-03 11:33:00