Bind_param和循环执行


bind_param and execute in loop?

是否可以迭代地调用bind_paramexecute,或者我必须在每次迭代开始时准备一个语句?

$query = $db->prepare('...');
foreach ($dataItem as $item) {
    $query->bind_param($v1, $v2, ..., $item);
    $query->execute();
}
$query->close();

如果我必须在每次迭代中重新创建语句,是否有可能优化这个过程?

谢谢!

不需要在每次迭代开始时准备语句。

预处理语句的概念是首先重用相同的语句多次,所以最好只准备一次,然后多次执行。

请参阅手册页上的注释