在提供的程式碼中,由於參數不符而在執行多個插入查詢時出現錯誤正在插入的值以及查詢中預期的參數數量。
程式碼根據符合數 ($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中文網其他相關文章!