我有一个 mysqli 查询,其 where 子句是在 for 循环中生成的。所以参数在运行之前是未知的。
在这种情况下如何使用 mysqli bind_param 方法?
我可以在for循环中使用它来一一绑定参数吗?
是的,php5.6 是可能的,而且非常简单,首先你需要知道有多少参数str_repeat(),count()你能帮忙吗,解包运算符 ( ...) 也是如此,所以这种方式是可能的使绑定动态。
$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);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1080 次 |
| 最近记录: |