gpt4 book ai didi

php - 是否有为 MySQL 插入绑定(bind)命名 PDO 参数的快捷方式?

转载 作者:行者123 更新时间:2023-11-29 04:08:00 25 4
gpt4 key购买 nike

如果要使用命名参数,PDO 似乎需要大量重复。我一直在寻找一种使它更简单的方法,即使用列/数据对的单个实例——而不必多次重新键入列名甚至变量名。

我自己回答这个问题是因为我写了一个我认为非常优雅的函数,基本上,我想炫耀一下(并帮助希望这样做的人)。

我完全不确定我是否是第一个想到这个的人,或者是否有任何我没有预见到的问题。如果您有更好的解决方案,请随时告诉我,或提供您自己的解决方案。

最佳答案

从@equazcion 的回答开始,但使用稍微不同的代码方法:

function bindFields($fields) {
return implode(",", array_map(function ($f) { return "`$f`=:$f"; },
array_keys($fields)));
}

或者如果您想要传统的 INSERT 语法而不是 MySQL 特定的 INSERT...SET 语法:

function bindFields($fields) {
return "(" . implode(",", array_map(function ($f) { return "`$f`"; },
array_keys($fields))) . ")"
. " VALUES (" . implode(",", array_map(function ($f) { return ":$f"; },
array_keys($fields))) . ")";
}

关于php - 是否有为 MySQL 插入绑定(bind)命名 PDO 参数的快捷方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23282160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com