准备好的语句中的占位符如何调用关联数组中的值?

戴维丹

该代码已经在运行,但我无法完全理解占位符如何调用关联数组的值。我已经阅读了文档,但没有成功理解它。

$app['dtb'] -> insert('users', [
    'name' => $_POST['name']
    'age' => $_POST['age],  ]);`

我的插入方法:

$sql = sprintf(
    'insert into %s (%s) values (%s)',
    $table,
    implode(', ' , array_keys($parameters)),
    ':' . implode(', :' , array_keys($parameters))
);

所以这会导致这样的事情:

insert into users (name) values (:name)

如果我没有使用bind_param它如何识别:name密钥的值name

用户3783243

bind_param是一个mysqli函数。该驱动程序不支持命名占位符。您必须使用PDO,PDO具有bindparam类似功能。它还允许您只将数组传递给execute函数。如果使用了未命名的占位符 ( ?),这将按照它们出现的顺序绑定值,或者如果占位符已命名 ( :...) 则绑定数组的键我猜你正在传递$parametersexecute函数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章