bind_param并在循环中执行?

Leo*_*ard 5 php mysqli

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

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

如果我必须在每次迭代时重新创建语句,是否可以优化此过程?

谢谢!

hak*_*kre 6

没有必要在每次迭代开始时准备一个语句.

预处理语句的概念是首先重复使用相同的语句,因此最好准备一次并多次执行它.

另请参见手册页上的本说明.