有没有一种方法可以在 mysqli_stmt 对象中一次绑定一个参数?即类似,
// $stmt is a mysqli_stmt object.
// $bindvals is an array.
foreach ($bindvals as $item){
$stmt->bind_param('s',$item);
}
上面抛出“类型定义字符串中的元素数量与绑定变量的数量不匹配”(只要 count($bindvals)>1)。
在这种特殊情况下,我的最终目标是创建一个函数,每当将列添加到表中时都不需要编辑该函数,因此该函数适用于不确定数量的列。
用 mysqli 不可能做到这一点。这对于 PDO 是可能的,就像 PDO 可以做而 mysqli 不能做的许多其他事情一样。
如果您想使用 mysqli 实现相同的目的,则必须将参数收集在数组中,然后将它们传递给
mysqli_execute()
或在 splat 运算符 (bind_param()
) 的帮助下使用 ...
绑定它们。