PDOException:SQLSTATE [HY000]:常规错误:7个参数的数量必须介于0到65535之间

时间:2016-11-01 13:34:33

标签: php pdo

目标是一次准备和插入大量数据。 "大量数据"在一个查询中表示超过65535个参数。

所以在$ pdo-> execute()上标题的错误就会增加。

我在SO上阅读了关于类似错误的所有内容,但一切都与其他案例有关。

2 个答案:

答案 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
}