サーバーによっては、次のようなエラーが出ることがあります。
SQLSTATE[HY000]: General error: 2014 Cannot execute queries while other unbuffered queries are active. Consider using PDOStatement::fetchAll(). Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.
私の場合は、fetchで取得していたデータをfetchAllで取得するように直したら治りました。(エラーメッセージの指示の通りですが)
ほかにも、下記のPHPサイトでは、MySQLクライアントをアップデートしたら治ったとか、SQLを一個ずつ処理するようにすれば治る、などと記載があります。
http://php.net/manual/en/ref.pdo-mysql.php