该代码已经在运行,但我无法完全理解占位符如何调用关联数组的值。我已经阅读了文档,但没有成功理解它。
$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
?
bind_param
是一个mysqli
函数。该驱动程序不支持命名占位符。您必须使用PDO
,PDO
具有bindparam
类似的功能。它还允许您只将数组传递给execute
函数。如果使用了未命名的占位符 ( ?
),这将按照它们出现的顺序绑定值,或者如果占位符已命名 ( :...
) ,则绑定数组的键。我猜你正在传递$parameters
给execute
函数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句