Run this code before running a query
$pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);
Further reading Buffered and Unbuffered queries
I tried to increase the memory size in php.ini and with ini_set('memory_limit', '512M');, but it doesn´t work.
It worked, actually.
The error message says that this exact amount were exhausted.