我有一个mysqli查询,其where子句是在for循环中生成的。因此,在运行时之前不知道参数。
在这种情况下,我如何使用mysqli bind_param方法?
我可以在for循环中使用它一个一个地绑定参数吗?
发布于 2016-04-06 17:10:13
是的,使用php5.6是可能的,而且非常简单,首先您需要知道str_repeat()、count()和解包装操作符(...)有多少个参数,所以这种方法可以使绑定dynimic。
$params = [10, 50, 51, 99];
$types = str_repeat('i',count($params));
$stmt = $mysqli->prepare("SELECT * FROM t WHERE id IN (?,?,?,?)");
$stmt->bind_param($types, ...$params);
if(!$stmt->excute()){
echo mysqli_error($con);
}https://stackoverflow.com/questions/36457652
复制相似问题