目标是一次准备和插入大量数据。 "大量数据"在一个查询中表示超过65535个参数。
所以在$ pdo-> execute()上标题的错误就会增加。
我在SO上阅读了关于类似错误的所有内容,但一切都与其他案例有关。
答案 0 :(得分:2)
问题出在PDO中。
PDO在未包含的int中存储查询参数的数量,因此它不能一次操作超过65535个参数。
要解决此限制,您需要划分查询。
答案 1 :(得分:0)
一种解决方案(如果您使用PDO将PHP数组推送到数据库中)是使用array_chunk
将数组拆分为小于int限制的块,例如:
$chunked_new_record_array = array_chunk($new_record_array,65000,true);
foreach ($chunked_new_record_array as $new_record_chunk)
{
//do PDO insertion
}