在提供的代码中,由于参数不匹配而在执行多个插入查询时出现错误正在插入的值以及查询中预期的参数数量。
代码根据匹配数 ($matches) 生成占位符数组 ($values)。但是,如果 $values 数组中已有内容,则可能会导致计数差异,从而导致错误。
要解决此问题:
在使用 $values 数组之前始终将其初始化为空状态
$values = [];
$matches = array('1'); $count = count($matches); $values = []; for($i = 0; $i < $count; ++$i) { $values[] = '(?)'; } $sql = "INSERT INTO hashes (hash) VALUES " . implode(', ', $values) . " ON DUPLICATE KEY UPDATE hash=values(hash)"; $stmt = $dbh->prepare($sql); $data = $stmt->execute($matches);
通过实现这些更改,代码应该可以成功执行,而不会遇到参数不匹配错误。
以上是如何修复 MySQL 多次 INSERT 查询中的'参数编号无效”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!